Jak powiązać dane w Datatemplate z ContentControl

Mam następujący uproszczony przykład:

    <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>

Z:

    <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>

jako moja DataTemplate w oddzielnym pliku ResourceDictionary.

Ustawiłem mój DataContext w Construcor mojego MainWindow i zweryfikowałem go, wyświetlając imię takie jak to:<ContentControl Grid.Row="1" Content="{Binding FirstName}"/>.

W innym scenariuszu, w którym używam DataTemplate za pomocąListBox Wykonuję Binding dokładnie w ten sam sposób w moim DataTemplate i po prostu działa.

Wiem, że DataTemplate działa z wyjątkiem wiązania, ponieważ poprawnie pokazuje rozmiar i kolor tła.

Co ja robię źle? Jak wyglądałoby powiązanie w moim DataTemplate?

questionAnswers(1)

yourAnswerToTheQuestion