WPF 修正了 DataTemplates 中的 ItemTemplateSelector
嘿,我是 WPF 新手,我有一个项目,我想在 DataTemplate 中使用 ItemTemplate 选择器。
<DataTemplate x:Key="PicTemp">
...
</DataTemplate>
<DataTemplate x:key="MsgTemp">
...
</DataTemplate>
<DataTemplate x:key="PuttingItTogether">
<TextBlock Text="HeaderText" />
???<ItemTemplateSelector="{StaticResource Select Either PicTemp or MsgTemp>}"/>
</DataTemplate>
在第三个数据模板中,如何设置模板选择器来选择 PicTemp 或 MsgTem DataTempalte?
Hey there I am new to WPF and I have a project where I want to use an ItemTemplate selector inside a DataTemplate
<DataTemplate x:Key="PicTemp">
...
</DataTemplate>
<DataTemplate x:key="MsgTemp">
...
</DataTemplate>
<DataTemplate x:key="PuttingItTogether">
<TextBlock Text="HeaderText" />
???<ItemTemplateSelector="{StaticResource Select Either PicTemp or MsgTemp>}"/>
</DataTemplate>
In the third Data Template how can I setup a template selctor to choose either the PicTemp or MsgTem DataTempalte?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
ItemTemplateSelector 是 ItemsControl 的属性。您需要将样式应用于 ItemsControl 才能进行设置。您需要将其设置为 ItemTemplateSelector 子类的实例,该实例包含根据项目的某些属性为 ItemsControl 中的每个项目返回适当的 DataTemplate 的逻辑。
我发现本教程对于学习如何正确实施 DTS。
ItemTemplateSelector is a property of an ItemsControl. You need to apply a style to the ItemsControl in order to set it. And you need to set it to an instance of an ItemTemplateSelector subclass that contains logic to return the appropriate DataTemplate for each item in the ItemsControl based on some property of the item.
I found this tutorial useful for learning how to correctly implement a DTS.
ItemsTemplateSelector 用于 ItemsControl,例如如 ListBox、ListView 和 ItemsPresenter。
它可用于根据项目源对象选择数据模板。但在大多数情况下,指定 DataType 更容易-相应DataTemplate的属性。
在您的示例中,我不知道您到底想如何使用 TemplateSelector,因为您没有
ItemsControl
。An ItemsTemplateSelector is used for ItemsControl such as ListBox, ListView and ItemsPresenter.
It can be used to select a DataTemplate based on the items source object. However in most cases, it is more easy to specify the DataType-property of the corresponding DataTemplate.
In your example I don't see how exactly you want to use the TemplateSelector, since you don't have an
ItemsControl
.