WPF Boing demo needs life support - wpf

Remember the Amiga boing demo? I was reading a 25th anniversary of the Amiga article and they mentioned it. Brought back some memories. I remember a WPF (called Avalon at the time) demo put together to mimic it. I did some googling and found it here. However, it seems to be extremely out-of-date as the XAML markup and the code-behind is rife with errors when I attempt to build in VS 2010 (re-targeted to CLR 4.0 Client Profile). Are there any WPF gurus out there who are able and willing to bring it into this decade? This would go a long way to understanding the WPF/XAML stack for me. Thanks!
Edit: I'm using the slightly updated version I just found here.
Edit the 2nd: I've gotten it to compile and show the nice gradient blue background, but not the bouncing checkered ball. The problem is that I cannot find the modern equivalent of:
<x:Include x:Content="{ball}" />

I have recreated this stuff for .NET 4.0. Solution is available by Boing link. Thanks for your suggestion. It was interesting!
Added
I have added solution code to codepaste.net. You can view it here.

Related

Is there a free WinForms control similar to Telerik's RadDock?

I'm looking to create an interface which has drag-drop-dock functionality like Visual Studio. Telerik offers exactly what I'm looking for:
http://www.telerik.com/products/winforms/dock.aspx
Trouble is, it will cost $1000. This is a side project and I don't have a budget for that. Does anyone know of a similar control which is free and/or open source? Google didn't turn up any results.
Thanks
I ended up going more low-level and using OpenTk GameWindow and GWEN, which contains docking.
GWEN - GUI Without Extravagant Nonsense
https://github.com/garrynewman/GWEN
It's absolutely great, but unfortunately the original project is abandoned. There are a ton of forks at different states. I've personally had a lot of success with it.

Good approach to learning to use WPF design tools?

I want to learn WPF but from all the commentary I've been hearing the tooling in Visual Studios is weak and would require me writing XAML by hand which is inefficient. I've seen tools such as Expression Blend that are used to create XAML however given my complete lack of understanding of WPF I'd be hard-pressed to get enough "mileage" out of the trial to learn enough to decide if I want to buy the software. So my question is if I want to learn the tooling that Microsoft is providing for WPF as I learn WPF what approach would you suggest? As for tooling, is there an Express edition of Blend that I can use to learn before I upgrade to the professional license? Thanks!
Honestly,
I've felt that I've learned WPF the best by writing the XAML by hand. I've been using VS 2010 Beta 1 and the designer has gotten better (with intellisense and such) and it sounds like when Beta 2 comes out it will be better yet.
After you learn WPF and get comfortable with the basics and functionality, then using Blend for making things look "pretty" is useful.
I do not know how long the trial version of Blend 3 is, but before 3 came out, they kept giving out a version (June Preview, August Preview and the likes) that lasted 3 months before they expired.
Again, I didn't feel like Blend helped me learn WPF, it just helped make things more visually appealing (gradients and some animations). But to each his own.
This isn't exactly what you are looking for, but I found it helpful when playing around with XAML.
Kaxaml
You might want to look at learnvisualstudio.net. I think they have some videos on WPF.
I use this website to help me learn VS.net and some .net languages.
I really enjoyed this tutorial when I was first getting started. I think they do a good job orienting you with WPF and Blend.

Recommendations on a WPF Docking Library

We are implementing an application that needs dockable windows, similar to Visual Studio 2005/2008, but with multiple "docking sites", unlike VS's single one. Does anyone have a recommendation on a good library for this - either OSS or commercial? I am aware that Infragistics has one, as well as Divelement's SandDock and WPF-Dock from DevComponents, as well as ActiPro's Docking & MDI product. There is also one on CodeProject. Has anyone used any of these libraries? Was the experience good or bad? If you have experience with one of them, does it support multiple "docking sites"?
The one from Codeproject is the AvalonDock - we use it for more then half a year now, but we're far from release yet so we have the flexibility. Before ending up with AvalonDock we tried Infragistix, ActiPro, SandDock and may be some others.
Even though AvalonDock is not 100% bug free (well what is?) there are no major ones, it is very stable, fast and has all the functionality. It does support multiple docking sites.
Its an open source project and is in active development, so bugs are beeing found and fixed. Good experience so far.
I've been using the ActiPro library for several months and it's done me well. It does support multiple docking sites. The support is outstanding and you get some other controls (date picker, etc) that are missing from WPF. To me, for $150 it's money well spent. It worked out of the box, no fuss.
We used to use Divelements for WinForm controls but we think Actipro has better support, so we switched for WPF.
Just my two cents.
Don't forget AvalonDock on GitHub (part of WPF Toolkit). I've seen it mentioned in other places.
Initially I was going to use the ActiPro library (mostly because I am already using their ribbon), but I might give AvalonDock a chance since it is open source.
Anybody have any feedback/comments on AvalonDock?
I use DotNetBar, because it has ribbon/dock and more controls, and it's inexpensive. It's great.
http://www.devcomponents.com/dotnetbar-wpf/
SandDock is alright. We used it for a POC phase of a project. I found some pretty bad bugs in their layout saving mechanism. It generated XML, but then couldn't load this XML back; it threw an exception! I actually read through all the generated XML and had to write code to modify the XML slightly after each time it was generated. It did not seem like it was a well thought out design; I was hoping for common WPF base types like
Infragistics is a bit better but buggy. In fact, if you try running it on a machine that only has .Net 3.0 and no .Net 3.5, it doesn't work correctly. Have an outstanding dev issue with Infragistics and I don't know if they've made any progress on a fix for this. I've also had it crash a few times when floating a window and dragging it around (suspect this has to do with the .Net 3.0/3.5 issue above). I've found styling this control to be pretty un-intuitive.
I tried all the libraries listed here and they're all buggy to some extent. Although they are pricy I would recommend Telerik and Infragistics. Nevron merits a mention because their library is the best I've seen but it's for WinForms.
1 year later ...
AvalonDock is now stable and robust.
There's also an "AvalonDock wrapper" that simplifies working with it without reducing its possibilities.
See http://sofawpf.codeplex.com/
Here is another one:
http://www.essentialobjects.com/Products/EOWpf/DockView.aspx
This one has a number of built-in skins that you can switch dynamically. It also has many individual controls (such as a "Splitter" control) that you can use independently.

How do I implement an address location bar (bread crumb control) similar to that in Windows Vista's File Explorer?

The explorer control in Windows Vista is very handy and I would like to be able to incorporate it in an application written in WPF. I've been unable to find a stock control that is part of the Framework. This application is being specifically developed for Windows Vista and therefore, having the same look and feel as the OS is desirable.
One could use the Microsoft.Win32.OpenFileDialog, but the problem with that is that it looks nothing like Vista's so it sticks out like a sore thumb.
Any thoughts on a good implementation would be most helpful. I would like to stay away from Third Party components if possible, but am definitely open to all suggestions.
Actipro makes a really good WPF breadcrumb control. There's also an open source WPF breadcrumb control that I might actually give a try.
I haven't yet tried it but look at VistaBridge... It gives you all the Vista look dialog boxes!
There is a replacement for the Microsoft.Win32 file dialogs on my blog that gives you the Vista look without the complexity of VistaBridge and is also backward compatible with XP.
http://www.nbdtech.com/blog/archive/2008/07/15/Vista-style-open-and-save-dialogs-with-WPF-without-using.aspx
At the risk of sounding self-serving, the best Breadcrumb control for WPF you can find is here:
http://www.teraque.com/Products/Explorer-Chrome-Suite
I've spent a year trying to reverse engineer the Window's Vista control because none of the off-the-shelf products provided the right look-and-feel. You will run into the limitations of all of the suggestions above sooner or later. And, having been through it myself, I can tell you that trying to embark on developing the controls yourself will take you months. The oddities surrounding the overflow logic alone will be enough to eat up two months just to get it right.
Good luck. If there's anything I can answer for you, please feel free to contact me.
Donald Roy Airey
Donald.Roy.Airey#teraque.com
If you are coding for the .net Framework 3.5, calling for the common dialog should display the correct Vista era dialog.
Sorry, appears I was mistaken. In previous projects, I was using this library to call the Vista dialogs.

How can I use WPF's D3DImage with managed DirectX or XNA?

I'd really like to get into some D3D coding, but I don't have the time lately to learn C++ for what will amount to a hobby project.
If you're looking for a managed way to do Direct3D programming, I would recommend SlimDX. It's an open source .NET wrapper over DirectX. Since managed DirectX is not being supported any longer by Microsoft, this is a good way to use managed code with D3D. It's updated quite frequently and I've had very good luck using it thus far. There's a thread here that talks about using SlimDX with D3DImage.
It's not officially supported as far as I know. Looks like some folks hacked it to make it work.
Looks like this might not be an issue for much longer, at least come .NET 4.0. Microsoft showed off a demo of XNA integration with WPF at PDC on Tuesday. If you want to see it in action, you can see the session video at the PDC site:
https://sessions.microsoftpdc.com/public/timeline.aspx
The session is PC46 (WPF Roadmap), XNA demo is around the 38 minute mark. I'm hoping they'll go into more details during the WPF Graphics Futures talk today (Session PC07). Might be a bit down the road, but it's encouraging that they're working on it.
Another alternative to managed DirectX and XNA is MOgre, which is a C# wrapper around a great open source C++ graphics engine that uses Direct3D, called Ogre3D. (If it is a hobby project, I think you might get going quicker by using an engine like this rather than straight-up D3D. I don't know much about XNA or SlimDX.)
Here is a CodeProject article by Leslie Godwin that takes the D3DImage class (from the Dr. WPF article mentioned by Ian) and shows how to use it with MOgre.
Edit: I created an open source project, called MogreInWpf, for using D3DImage with Mogre, based on Leslie Godwin's code referenced above, and with an alternative sample app.

Resources