C# 数据模板仅在ItemsControl控件中是必需的?
让我向你解释我的情况 我有一个叫做Shape的基类,还有几个具体的类,比如三角形、正方形等 我有几个数据模板 我只建造了一个物体。所以我不会使用ItemControl控件,我想使用一个普通的面板,比如网格,并显示相应的数据模板(在DataContext中有具体的项)C# 数据模板仅在ItemsControl控件中是必需的?,c#,wpf,silverlight,xaml,datatemplate,C#,Wpf,Silverlight,Xaml,Datatemplate,让我向你解释我的情况 我有一个叫做Shape的基类,还有几个具体的类,比如三角形、正方形等 我有几个数据模板 我只建造了一个物体。所以我不会使用ItemControl控件,我想使用一个普通的面板,比如网格,并显示相应的数据模板(在DataContext中有具体的项) 唯一的方法是使用ItemsControl?或者还有另一种方法。。因为我只使用了一个项目,而不是集合,并显示了正确的模板。如果要使用基于项目类型选择的数据模板显示单个项目,您应该使用ContentControl或其任何派生类。如果要使
唯一的方法是使用ItemsControl?或者还有另一种方法。。因为我只使用了一个项目,而不是集合,并显示了正确的模板。如果要使用基于项目类型选择的数据模板显示单个项目,您应该使用
ContentControl
或其任何派生类。如果要使用基于项目类型选择的数据模板显示单个项目,您应该使用ContentControl
或其任何派生类。DataTemplates
不仅仅用于ItemsControls
<DataTemplate DataType="{x:Type local:MyDataObject}">
<!-- Tell WPF how to draw MyDataObject here -->
</DataTemplate>
它们用于告诉WPF如何在可视化树中绘制任何对象。例如,如果在VisualTree
中粘贴User
类对象,则可以使用DataTemplate
告诉WPF如何绘制该User
对象
它们最常用于具有ItemsSource
或Content
属性的控件中,因为它们是将数据对象插入VisualTree
的最常用方法
在您只想在VisualTree中插入一个数据项的特定情况下,我建议使用ContentControl
<ContentControl Content="{Binding MyDataObject}" />
或者定义一个隐式的DataTemplate
,告诉WPF使用特定模板绘制特定类型的任何对象
<DataTemplate DataType="{x:Type local:MyDataObject}">
<!-- Tell WPF how to draw MyDataObject here -->
</DataTemplate>
数据模板
不仅仅用于项控件
它们用于告诉WPF如何在可视化树中绘制任何对象。例如,如果在VisualTree
中粘贴User
类对象,则可以使用DataTemplate
告诉WPF如何绘制该User
对象
它们最常用于具有ItemsSource
或Content
属性的控件中,因为它们是将数据对象插入VisualTree
的最常用方法
在您只想在VisualTree中插入一个数据项的特定情况下,我建议使用ContentControl
<ContentControl Content="{Binding MyDataObject}" />
或者定义一个隐式的DataTemplate
,告诉WPF使用特定模板绘制特定类型的任何对象
<DataTemplate DataType="{x:Type local:MyDataObject}">
<!-- Tell WPF how to draw MyDataObject here -->
</DataTemplate>