C# “这是什么意思?”;ContentControl不会自动使用DataTemplate;?
我正在努力让我的数据模板绑定工作;我显式地将我的数据模板绑定到一个数据类型C# “这是什么意思?”;ContentControl不会自动使用DataTemplate;?,c#,wpf,datatemplate,contentcontrol,C#,Wpf,Datatemplate,Contentcontrol,我正在努力让我的数据模板绑定工作;我显式地将我的数据模板绑定到一个数据类型 <DataTemplate DataType="{x:Type local:ExcelReportVM}"> <local:ExcelReport DoubleClickHandler="{Binding}"> <local:ExcelReport.RowColorConverter> <local:ReportRowColorCo
<DataTemplate DataType="{x:Type local:ExcelReportVM}">
<local:ExcelReport DoubleClickHandler="{Binding}">
<local:ExcelReport.RowColorConverter>
<local:ReportRowColorConverter/>
</local:ExcelReport.RowColorConverter>
</local:ExcelReport>
</DataTemplate>
但是,我发现,即使我的控件.DataContext
是ExcelReportVM
,上面的数据模板
也没有应用
那我就
如果要将ContentControl绑定到任务对象集合,
ContentControl不会自动使用DataTemplate。这
是因为ContentControl上的绑定需要更多信息
区分是要绑定到整个集合还是
单个对象。如果ContentControl正在跟踪所选内容
对于ItemsControl类型,可以设置
ContentControl绑定到“/”以表示您对
当前项目。有关示例,请参见如何:绑定到集合并
根据选择显示信息。否则,您需要指定
通过设置ContentTemplate属性来显式创建DataTemplate
这个解释听起来很抽象,读了几遍后我不知道它在说什么。有人想用一个合适的例子来解释吗?如果您将
ContentControl
的Content
属性设置或绑定到ExcelReportVM
对象的实例,则会应用隐式DataTemplate
:
<ContentControl x:Name="control" />
“control”是什么类型的控件?@mm8,如数据模板数据类型ExcelReportVM中定义的,否?您设置了某个“control”的DataContext属性。这是什么?@Graviton,如果存在ExcelReportVM的数据模板,并且视图显示ExcelReportVM对象的ExcelReport控件,则表示已应用该模板。否则,ExcelReportVM将显示为带有“ExcelReportVM”文本的文本块
content.Content = new ExcelReportVM();