我有一个数据项:
<SampleData:Item Title="Evening News" Channel="ABC" x:Key="sampleData0" />
在我的 xaml 页面中,我有一个显示此项目的 ContentPresenter。
<ContentPresenter ContentTemplate="{StaticResource dt1}" />
这是数据模板dt1:
<DataTemplate x:Key="t2">
<Grid Background="#FF5599DD" DataContext="{StaticResource sampleData0}" >
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<TextBlock Text="{Binding Title}" />
<TextBlock Text="{Binding Channel}" Grid.Row="1" />
</Grid>
</DataTemplate>
这一切都很好。但我想将数据模板放入我的 dictionary.xaml 文件中,因此我必须将数据上下文从 DataTemplate 移动到 ContentPresenter。
现在我的 ContentPresenter 看起来像这样:
<ContentPresenter ContentTemplate="{StaticResource dt1}" DataContext="{StaticResource sampleData0}" />
数据模板如下所示:
<DataTemplate x:Key="t2">
<Grid Background="#FF5599DD">
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<TextBlock Text="{Binding Title}" />
<TextBlock Text="{Binding Channel}" Grid.Row="1" />
</Grid>
</DataTemplate>
但这不起作用!
我已经尝试过 RelativeSource 但没有运气。
有人有什么想法吗?