WPF中的条件数据模板

时间:2009-10-21 12:36:51

标签: wpf binding datatemplate

如何选择不同的数据模板来匹配数据绑定源中的字段? 我会有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)然后使用DataTemplateTxtBox ELSE使用DataTemplateLabel)这可能吗? 感谢。

2 个答案:

答案 0 :(得分:7)

您可以创建DataTemplateSelector并将其分配给ContentTemplateSelector媒体资源(ItemTemplateSelector,如果它位于ItemsControl

答案 1 :(得分:0)

这是一个间接的答案,但通过执行多态(即放弃IsText属性并使用其他类型回答问题),您可以为每种不同的类型定义DataTemplate。