我在Window.Resources
中获得了数据模板 <TemplateSelectors:Schedule x:Key="templateSelector">
<TemplateSelectors:Schedule.DailyTemplate>
<DataTemplate> (stuff here) </DataTemplate>
</TemplateSelectors:Schedule.DailyTemplate>
我在数据网格中使用它们
<DataGrid RowDetailsTemplateSelector="{StaticResource templateSelector}"...
一切都很好,但现在我想在窗口上显示其他人的数据模板。所以我试试这个:
<ContentControl ContentTemplateSelector="{StaticResource templateSelector}" />
但我得到了这个
对象引用未设置为对象的实例。
方法
public override DataTemplate SelectTemplate(object jobOb, DependencyObject container)
{
期待对象jobOb但它是null(如预期的那样)。如何传递数据网格选择?
答案 0 :(得分:0)
比我想象的更简单。只需要将内容设置为数据网格上的选定项目。
<ContentControl Content="{Binding ElementName=datagrid, Path=SelectedItem}" ContentTemplateSelector="{StaticResource templateSelector}" />