WPF 中的条件数据模板
Posted
技术标签:
【中文标题】WPF 中的条件数据模板【英文标题】:Conditional Data Templates in WPF 【发布时间】:2010-12-08 16:51:46 【问题描述】:如何根据数据绑定源中的 a 字段选择不同的数据模板? 我会有 2 个不同的 DataTemplates
<DataTemplate x:Key="DataTemplateLabel">
<Label Width="60" Height="25" Background="Red">
<TextBlock Text="Binding Path=Name"/>
</Label>
</DataTemplate>
<DataTemplate x:Key="DataTemplateTxtBox">
<TextBox Width="60" Height="25" Background="Red" Text="Binding Path=Text"/>
</DataTemplate>
if (isText) Then use DataTemplateTxtBox ELSE use DataTemplateLabel) 这可能吗? 谢谢。
【问题讨论】:
【参考方案1】:您可以创建一个DataTemplateSelector
并将其分配给ContentTemplateSelector
属性(或ItemTemplateSelector
,如果它在ItemsControl
中)
【讨论】:
【参考方案2】:这更像是一个间接的答案,但是通过做多态性(即放弃 IsText 属性并使用不同的类型回答问题),您可以为每种不同的类型定义一个 DataTemplate。
【讨论】:
以上是关于WPF 中的条件数据模板的主要内容,如果未能解决你的问题,请参考以下文章