2009-10-21 72 views
6

如何在数据绑定源中选择不同的数据模板来填充字段? 我有2周不同的DataTemplatesWPF中的条件数据模板

<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> 

如果(ISTEXT)然后使用DataTemplateTxtBox ELSE使用DataTemplateLabel)这可能吗? 谢谢。

回答

7

您可以创建一个DataTemplateSelector,并将其分配给ContentTemplateSelector财产(或ItemTemplateSelector如果它是在ItemsControl

0

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