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: , , , ,

Krzysztof Cwalina on API Design

by Christoph Menge in Software

This is a rather old one (dated June 1st 2007), but I feel this one deserves it: A three-hour webcast by FxCop creator Krzysztof Cwalina who now works at Microsoft on the design of APIs, a little post mortem on the development of the .NET Framework, etc. You can download the not-so-small file here: http://blogs.msdn.com/kcwalina/archive/2007/06/01/FDGLecture.aspx   [...]

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: , , ,

During the last days, I stumbled across a very annoying feature of Vista very often: The resource exhaustion manager. It tells me to close Visual Studio and the Desktop Window Manager. OK, shall I close the lid of the computer and go to sleep, too? However, the situation gets worse when I opened mspaint and [...]

Tags: , , ,

New Prism Drop!

by Christoph Menge in Software

A new Prism drop has just been released! See Glenn Block’s post here: http://blogs.msdn.com/gblock/archive/2008/03/26/prism-drop-2.aspx The direct link to the resource is http://www.codeplex.com/prism/Release/ProjectReleases.aspx?ReleaseId=11976 Views are no longer added via AddViewToRegion(); rather, an IRegion can be requested and an Add method can be called to actually add the view. Also, a sliding region has been added. However, [...]

Tags: , ,

DPI-Awareness

by Christoph Menge in Software

Due to the very high resolution of my new laptop’s display, I chose to increase its DPI so I could benefit from more readable text. Unfortunately, it turns out that there are still a number of problems: o On 120 dpi, 11pt Segoe UI (Windows Vista’s default UI font) will have a far too large [...]

Tags: ,

New Machine!

by Christoph Menge in Software

Well, due to the hardware-hunger of some of the projects I am working on, it was certainly time for a new machine so I got myself a brand new ThinkPad T61p. Very nice indeed, with a crazy WUXGA display on just 15.4″ – kewl! More pixels than you typically find on 22″. I will be posting [...]

Tags:

Prism: First Reference Implementation

by Christoph Menge in Software

As Glenn Block reports, the patterns & practices Team released a reference implementation of Prism on Wednesday: http://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=prism&ReleaseId=11615  Very interesting read! While I’m still working with the 6267 release of prism, I’m gonna update my code and write about some experiences with it soon!

Tags: ,