Archives

Anticipation

    No dates present

Templates Galore

(Well, look at that. I did manage to write another Programming post after all.)
One of the really great things about WPF is its composable UI structure and dynamic layouts — the ability to replace one set of controls with another on the fly as things happen (eg. when something is selected by the user) [...]

StringFormatConverter

Today’s topic is fairly basic, but hey, it gives me a chance to moan about something weird in the framework, so it’s not all bad
Windows Presentation Foundation. WPF. Essentially it’s a long-overdue reboot of the child window model coupled with a powerful data binding engine (though not without its own quirks). [...]

Multithreaded Collections and WPF

WARNING: As discussed in the comments, this collection class uses weak events, and (due to a bug in the .NET framework itself) weak events are not reliable unless you’re using .NET 3.5 SP1 or higher. If you’re stuck with an earlier version of the framework (or don’t want to verify that end users have [...]

.NET 2.0 and 64-bit Windows

For those who don’t already know, my main desktop machine at the moment is running 64-bit Windows. There probably isn’t a particularly good reason for doing that — after all, I’ve only got 2GB of RAM in there at the moment, so I’m not even hitting the 3GB limit of 32-bit Windows yet. [...]

Hidden natives

Continuing on the theme of mixing managed and native code from my last programming post, here’s another issue I ran into at about the same time…
Normally, you’re writing managed code as an interop layer to hide the native code away from the managed world, so it’s only used with private visibility. Sometimes, however, you [...]

Unmanaged callbacks across AppDomains

In one of the projects I’m working on I hit a fairly nasty problem involving (as might be obvious from the title) both AppDomains and unmanaged code calling back into managed code. But first, a little background.
It all started with an unmanaged C++ class library. We’ve been using it for a while from [...]