Welcome to MSDN Blogs Sign in | Join | Help

Data See, Data Do

Mike Hillberg's Blog on Wpf and Silverlight

Syndication

News

All postings are provided "As Is" with no warranties, and confers no rights. Opinions and views expressed here are not necessarily those of Microsoft Corporation.


Browse by Tags

All Tags » Anatomy   (RSS)
TreeView and HierarchicalDataTemplate, Step-by-Step
I’ve never found TreeView to be terribly confusing by itself. But usually I want to data bind a TreeView to a collection with some hierarchy, which leads me to HierarchicalDataTemplate, which didn’t always just write itself for me. If you look at it in Read More...

Posted Friday, October 30, 2009 12:40 PM by MikeHillberg | 0 Comments

Filed under: ,

Attachment(s): TreeViewStepByStep.zip

Why is it called a "DependencyProperty"?
When we create new classes and members we spend a lot of time and effort to make them as usable, understandable, and discoverable as possible. We follow the .Net Design Guidelines in general, and in particular we constantly look at how this new class Read More...

Posted Friday, March 27, 2009 10:04 AM by MikeHillberg | 5 Comments

Filed under:

ICommand is like a chocolate cake
(This has been updated with some information about the origin of a routed command’s route, and of focus scopes.) ICommand in WPF is a pretty simple thing at its core. But it gets more interesting and complicated as you build up functionality on top of Read More...

Posted Friday, March 20, 2009 3:48 PM by MikeHillberg | 5 Comments

Filed under:

Of logical and visual trees in WPF
This post is about the “logical tree” in WPF, and how it differs from the visual tree. For the most part you don’t need to understand this. But if you want to understand some of the nit-like details of property inheritance, {DynamicResource} references, Read More...

Posted Friday, May 23, 2008 4:46 PM by MikeHillberg | 5 Comments

Filed under:

Model-see, Model-do, and the Poo is Optional
Like a lot of people, I’ve developed software professionally for a lot of different environments: PC systems and embedded systems; high- and low-level languages; kernel mode, user mode, real mode, and protected mode; system services; domain controllers; Read More...

Posted Wednesday, May 21, 2008 3:05 PM by MikeHillberg | 4 Comments

Filed under: ,

A look at stretchy elements
There are several elements in Wpf that have a "Stretch" property. The basic idea of these properties is to allow you to specify how an element adapts itself to a layout container, such as a Grid. For example, if you have a 100x200 pixel image, and it's Read More...

Posted Thursday, July 05, 2007 5:31 PM by MikeHillberg | 1 Comments

Filed under:

Namespaces in Xaml
If you’re really into Xml conformance, and you’ve really wondered how Xaml uses Xml namespaces, read on; I can cover the most relevant details in 1160 words or less … Namespaces on tags (I’m using the term “tag” here instead of the more correct term “element”, Read More...

Posted Wednesday, May 16, 2007 9:51 AM by MikeHillberg | 1 Comments

Filed under: ,

Expandos in xaml
This post has a couple of suggestions on ways to accomplish expandos in Xaml. F irst some background … On an HTML page you can define your own new “expando” properties on the fly, such as in this example: < HTML > < BODY onload = ' paragraph1.innerText Read More...

Posted Monday, May 14, 2007 5:36 PM by MikeHillberg | 1 Comments

Where does a Binding find its data?
If you’ve look at much WPF Xaml you’ve probably seen bindings like this: < TextBlock Text = " {Binding Name " /> … which binds the Text property of the TextBlock to the Name property of some data object. The question that begets is: where does the Read More...

Posted Monday, May 14, 2007 10:04 AM by MikeHillberg | 3 Comments

Filed under: ,

Attachment(s): barrow.jpg

Parameterized templates; and how to create reusable, custom-looking buttons without code
I’ve talked to a few people recently about parameterized templates, and so I wanted to write some of it down. Here’s the scenario … I want to create an application that has a main window with several buttons on it. Clicking one of the buttons navigates Read More...

Posted Thursday, February 01, 2007 9:26 AM by MikeHillberg | 1 Comments

Filed under: ,

Attachment(s): pt1.jpg

A TreeView, a HierarchicalDataTemplate, and a 2D collection walk into a bar ...
An example of a TreeView and HierarchicalDataTemplate being used to display a collection of collections. Read More...

Posted Wednesday, October 11, 2006 8:15 AM by MikeHillberg | 7 Comments

Filed under: ,

Attachment(s): hdt.jpg

Brief anatomy of a ListBox
ListBox has properties on it that allow you to control how the items in the list box get displayed. Those properties make sense if you understand some basic concepts of the ListBox, but sometimes I forget, so I wanted to post a picture on my wall. Except Read More...

Posted Thursday, September 28, 2006 10:56 PM by MikeHillberg | 1 Comments

Filed under:

Attachment(s): ListBox.jpg

Xaml Inspired Markup
A lot has been written about how Xaml maps tags and attributes to objects and properties. But it’s not necessary that Xaml actually be used to create .Net objects. Maybe you don’t plan to for your markup to be mapped to objects, at least not today. But if you already work with Xaml, following the same syntax conventions as Xaml for your other markup provides some nice consistency and readability, and a possible future path to intuitive code manipulation. Read More...

Posted Wednesday, September 27, 2006 6:16 PM by MikeHillberg | 1 Comments

Filed under: ,

Attachment(s): OrgChart.JPG

Sharing, and not sharing, Setter.Value in a Style or Template
Setter values in a style or template get shared, which is good for performance, but impacts how some features work, especially elements and Freezables. Read More...

Posted Wednesday, September 20, 2006 7:29 PM by MikeHillberg | 0 Comments

Filed under:

The Loaded event and the Initialized event
In WPF, controls have both a Loaded even and an Initialized event. Initializing and loading a control tend to happen at about the same time, and consequently these events fire at roughly the same time. But they have slightly – though important – different meanings, and the differences can be a source of confusion. So here’s some background on how we designed these events. Read More...

Posted Tuesday, September 19, 2006 5:20 PM by MikeHillberg | 3 Comments

Filed under:

More Posts Next page »
Page view tracker