[Code Index] by Mike Marynowski

programming for work and fun

Value Type Box Cache

We've recently been building a .NET object database that necessarily stores a lot of data in object[] arrays. Most of the values in these arrays are default values (i.e. 0 for numbers), small integers, boolean values or enums. On a loaded instance there can be many millions of these boxes values sitting in memory and they are constantly being created and collected, which got me thinking...we could probably cache and reuse the boxes for a lot of these values, and thus the BoxCache was born! [More]

Getting Rid of Ugly TransformGroup Blocks in WPF

If you're obsessed with beautiful and clean XAML code like I am, a real thorn in your side is seeing large ugly TransformGroup blocks in your code. Here's how to fix that. [More]

Building the Ultimate WPF Event Method Binding Extension

Seeing that .NET 4.5 added support in WPF for markup extensions on events, I looked around to see what was out there in terms of method binding support. I couldn't find anything that quite did everything I needed, so I set out to build the ultimate method binding extension. [More]

WPF Visibility Binding with Design Time Control (and more!)

Designers don't want to worry about how to modify view models when designing a UI. They just want to show and hide elements to see what they look like, and occasionally test out a few different values to make sure it still looks correct. The current methods are too complicated to setup or to cumbersome to work with for simple tasks. Here's an alternate approach. [More]