Binden an Daten in einer Datenvorlage eines ContentControl
Ich habe das folgende vereinfachte Beispiel:
<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>
Mit:
<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>
als mein DataTemplate in einer separaten ResourceDictionary-Datei.
Ich habe meinen DataContext im Construcor meines MainWindow gesetzt und überprüft, indem ich nur den Vornamen wie folgt anzeigte:<ContentControl Grid.Row="1" Content="{Binding FirstName}"/>
.
In einem anderen Szenario verwende ich ein DataTemplate mit einemListBox
Ich mache das Binden genauso in meinem DataTemplate und es funktioniert einfach.
Ich weiß, dass das DataTemplate mit Ausnahme der Bindung funktioniert, da Größe und Hintergrundfarbe korrekt angezeigt werden.
Was mache ich falsch? Wie müsste die Bindung in meinem DataTemplate aussehen?