Data See, Data Do
Mike Hillberg's Blog on Wpf and Silverlight
In WPF & Silverlight, a Storyboard is a collection of animations running in parallel. Not...
Date: 11/20/2009
I’ve never found TreeView to be terribly confusing by itself. But usually I want to data bind a...
Date: 10/30/2009
When we create new classes and members we spend a lot of time and effort to make them as usable,...
Date: 03/27/2009
Here’s the scenario … You have a Customers collection and an Orders collection. In the Orders...
Date: 03/26/2009
ICommand is a simple interface with three members – Execute, CanExecute, and CanExecuteChanged (more...
Date: 03/24/2009
(This has been updated with some information about the origin of a routed command’s route, and of...
Date: 03/20/2009
I don’t remember what got me thinking about it, but somewhere along the line I wanted a...
Date: 01/09/2009
Property triggers today only check for equality. We’d like to add support for other comparison...
Date: 09/30/2008
I was creating a view of an object that had a bunch of boolean properties, but I wanted to keep the...
Date: 06/13/2008
StringFormat is a new property in .Net 3.5 SP1, which is currently in Beta. See Scott’s blog for...
Date: 05/29/2008
Like a lot of people, I’ve developed software professionally for a lot of different environments: PC...
Date: 05/21/2008
It's easy to use Linq queries to create objects, and to use {Binding}s to bind properties of those...
Date: 05/05/2008
Rob, Nikhil & I were talking today about the early days of Xaml when you could create linear...
Date: 04/25/2008
Here's an example of a way to add context-sensitive help to your application. The main idea is to...
Date: 07/26/2007
There are several elements in Wpf that have a "Stretch" property. The basic idea of these properties...
Date: 07/05/2007
We often use Xaml to instantiate and initialize objects. For example, given “<Foo Bar=’1’/>”,...
Date: 07/02/2007
Here’s a couple of handy ProgressBar tricks … The first trick is to use a negative Minimum value, so...
Date: 05/17/2007
If you’re really into Xml conformance, and you’ve really wondered how Xaml uses Xml namespaces, read...
Date: 05/16/2007
This post has a couple of suggestions on ways to accomplish expandos in Xaml. First some background...
Date: 05/14/2007
If you’ve look at much WPF Xaml you’ve probably seen bindings like this: <TextBlock...
Date: 05/14/2007
Here’s a technique you can follow to use property triggers in a template on non-element type...
Date: 05/07/2007
There are multiple ways to clone objects, and multiple definitions of what “clone” should even mean....
Date: 05/01/2007
I’ve talked to a few people recently about parameterized templates, and so I wanted to write some of...
Date: 02/01/2007
How to set the mouse cursor in one easy step: set the Cursor property. For example, this markup:...
Date: 11/22/2006
Bea has a handy post describing how to group items in a collection using a CollectionViewSource. I...
Date: 10/11/2006
In a post to the WPF forum, Zhou Yong had the idea to use a MarkupExtension to make it possible to...
Date: 10/06/2006
ListBox has properties on it that allow you to control how the items in the list box get displayed....
Date: 09/29/2006
A lot has been written about how Xaml maps tags and attributes to objects and properties. (Here’s a...
Date: 09/27/2006
For the most part, you can animate any property in a WPF application. For example, the following is...
Date: 09/25/2006
You can define a style that gets used by all elements of a type, such as this case (this causes all...
Date: 09/21/2006
In a post to the WPF forum, martinabc wanted to define a TreeViewItem style that would trigger off...
Date: 09/21/2006
Setter values in a style or template get shared, which is good for performance, but impacts how some...
Date: 09/20/2006
In WPF, controls have both a Loaded even and an Initialized event. Initializing and loading a...
Date: 09/19/2006
A big part of WPF (Avalon) is the Xaml format for creating object trees. You can also go in the...
Date: 09/16/2006
WPF (Avalon) uses the .Net tracing system to provide some diagnostics about what’s going on...
Date: 09/14/2006