Para mostrar um pouco do poder do data binding (ligação de dados - para ver mais, dê uma olhada aqui) no WPF, vamos criar uma lista de fontes do sistema.
Esta lista mostra todos os fontes instalados e mostra um exemplo do texto quando selecionamos um dos fontes da lista.
No XamlPad (se você não tiver instalado o Windows SDK, pode usar outro editor XAML, como o XamlCruncher ou o KaXaml), digite o seguinte código:
<Grid
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Grid x:Name="LayoutRoot">
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<ListBox HorizontalAlignment="Stretch"
Margin="0,0,5,0" x:Name="ListBox"
VerticalAlignment="Stretch"
ItemsSource="{Binding Source={x:Static
Fonts.SystemFontFamilies}}"
IsSynchronizedWithCurrentItem="True"/>
<GridSplitter HorizontalAlignment="Right"
VerticalAlignment="Stretch" Width="5"/>
<TextBox HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
FontFamily="{Binding Path=SelectedItem,
ElementName=ListBox, Mode=Default}"
FontSize="48" Grid.Column="1"
Text="The quick brown fox jumps over the lazy dog"
TextWrapping="Wrap"/>
</Grid>
</Grid>
Pronto. Ao teclar F5 (ou F7, no XamlCruncher) você tem uma nova janela que mostra todos os fontes do sistema.
O segredo está nos seguintes códigos:
ItemsSource="{Binding Source={x:Static Fonts.SystemFontFamilies}}"
FontFamily="{Binding Path=SelectedItem, ElementName=ListBox, Mode=Default}"
O primeiro liga os itens da ListBox à coleção SystemFontFamilies da classe Fonts da CLR e a segunda liga o nome do fonte da caixa de texto ao item selecionado da ListBox.
Fácil, não? Isto é só um pequeno exemplo do que pode ser feito...