Como vincular a dados dentro de um Datatemplate de um ContentControl
Eu tenho o seguinte exemplo simplificado:
<Window x:Class="TemplateBinding.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Window.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary
Source="pack://application:,,,/TemplateBinding;component/PersonTemplate.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Window.Resources>
<Grid>
<ContentControl ContentTemplate="{StaticResource PersonTemplate}" />
</Grid>
</Window>
Com:
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<DataTemplate x:Key="PersonTemplate">
<Border Width="100" Height="100" Background="RosyBrown">
<TextBlock Text="{Binding Path=FirstName}" VerticalAlignment="Center" TextAlignment="Center"/>
</Border>
</DataTemplate>
</ResourceDictionary>
como meu DataTemplate em um arquivo ResourceDictionary separado.
Eu configurei meu DataContext no Construcor da minha MainWindow e verifiquei apenas exibindo o primeiro nome como este:<ContentControl Grid.Row="1" Content="{Binding FirstName}"/>
.
Em um outro cenário onde eu uso um DataTemplate com umListBox
Eu faço o Binding exatamente da mesma maneira no meu DataTemplate e ele simplesmente funciona.
Eu sei que o DataTemplate está funcionando, exceto a ligação porque mostra corretamente o tamanho e a cor do plano de fundo.
O que estou fazendo de errado? Como a vinculação no meu DataTemplate teria que ser?