WPF Direct3D Interop

by Christoph Menge in Software

There are some very interesting posts I missed the last days. Since .NET 3.5 SP1 perfectly integrates WPF with DirectX, a number of cool effects can finally be applied: http://www.codeproject.com/KB/WPF/WPFPixelShader.aspx http://blogs.msdn.com/greg_schechter/archive/2008/05/12/introduction-to-writing-effects.aspx http://weblogs.asp.net/scottgu/archive/2008/05/12/visual-studio-2008-and-net-framework-3-5-service-pack-1-beta.aspx Some of those effects were on Dax Pandhi’s wish list for WPF (http://blog.nukeation.com/post/My-wishlist-for-the-next-release-of-WPF.aspx) for quite some time. More importantly, the integration of WPF [...]

Tags: , , ,

A MenuKiller Control – Draft

by Christoph Menge in Software

This is just a draft on my upcoming article. I have asked a number of WPF Gurus to help me out on this… Introduction In an effort to take user experience to the next level, designers have come up with ideas on how to solve old problems in a new way. In the last few [...]

Tags: , , , ,

A MenuKiller Sample Application

by Christoph Menge in Software

Well, when you start with Physics, many people will tell you “It’s really not as hard as you might think; yet, you will need a very high level of frustration tolerance.” I believe I do have the latter, but this control drove me nuts. So I stripped out all complexity I could, hacked a few [...]

Tags: , , ,

ICommand.CanExecute() and NullReferenceException

by Christoph Menge in .NET

Have you ever tried to call ICommand.CanExecute()? It actually works fine, but only if you are not as naive as I am… Simply calling it without the proper know-how might result in a NullReferenceException, so what you should read is how to implement ICommandSource. See MSDN: How To: Implement ICommandSource MSDN: Implement ICommandSource Sample. Not [...]

Tags: , , ,

On UIElement.Opacity and the Removal of Storyboards

by Christoph Menge in Software

Today, I encountered two WPF related problems: 1 – UIElement.Opacity and the way it is being ‘inherited’ Every UIElement has an Opacity property, which will we be used when rendering the control. When rendering an object, 0.0 means the object is fully transparent, thereby invisible to the user, while 1.0 means it is fully opaque. [...]

Tags: ,

Applying ItemContainerStyle Recursively

by Christoph Menge in Software

In the MenuKiller Control, I need to configure a TreeView to quite some extent: I want all nodes to have a certain custom ItemContainerStyle. First naive approach: The TreeView will apply its ItemContainerStyle to all nodes. Wrong! The TreeViewItems themselves are ItemControls, therefore having their own ItemContainerStyle. Second approach: Have the ItemContainerStyle refer to itself [...]

Tags: , ,

The MenuKiller Control – Differentiated UX

by Christoph Menge in Software

A while ago, I read a very interesting blog post: Rethinking the Button by Dax Pandhi. It really fascianated me, so I started some research on the topic. Apparently, “Differentiated UX” is the new buzzword. As is always the case with buzzwords, different people understand it in different way, but I guess the common denominator is: We [...]

Tags: , , , ,

Custom DependencyProperties and “Auto”

by Christoph Menge in Software

While implementing a little custom control (a radial panel, actually – stay tuned what it’s good for…), I stumbled across a little problem when trying to add automatic behaviour. Many built-in WPF Controls such as Canvas or Panel allow something like Width="Auto" Now, for my control I need something that accepts AngleSpacing="Auto" AngleSpacing="<double>" Of course, [...]

Tags: , , ,

Tao Framework now DPI Aware!

by Christoph Menge in .NET, Software

Huge thanks to Ilmar Kruis for implementing GetDeviceCaps() in the Tao framework! With some small modifications I suggested, one can now easily develop DPI-aware OpenGL applications using C# or .NET in general! Thanks Ilmar! I will update my article on the CodeProject about OpenGL windows in Vista soon! See http://www.taoframework.com/ Get the latest version via [...]

Tags: , , ,

Creating OpenGL Windows in WPF

by Christoph Menge in Software

Hello, World! Ok, my first blog entry! I also posted my first article at The CodeProject today: Creating OpenGL Windows in WPF Have fun!

Tags: , ,