【问题标题】:Conditional Data Templates in WPFWPF 中的条件数据模板
【发布时间】: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) 这可能吗? 谢谢。

【问题讨论】:

    标签: wpf binding datatemplate


    【解决方案1】:

    您可以创建一个DataTemplateSelector 并将其分配给ContentTemplateSelector 属性(或ItemTemplateSelector,如果它在ItemsControl 中)

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多