【问题标题】:WPF: How do I get different templates based on a list-item's type?WPF:如何根据列表项的类型获取不同的模板?
【发布时间】:2010-06-05 21:20:54
【问题描述】:

我听说我可以创建一个混合类型的集合,并为每种类型使用不同的数据模板。我如何为 ListBox 做到这一点?

【问题讨论】:

    标签: wpf binding styles


    【解决方案1】:

    ListBox 的ItemTemplateSelector 属性是专门为此而设计的。

    【讨论】:

      【解决方案2】:

      而且你需要一个继承自DataTemplateSelector的类,然后重写SelectTemplate方法:

      public class SomeTemplateSelector:DataTemplateSelector
      {
          public override DataTemplate SelectTemplate(object item, DependencyObject container)
          {
              if(((YourDataContextClass)item).SomeLogic)
                  return FirstTemplate;
              else
                  return OtherTemplate;
          }
       }
      

      【讨论】:

        猜你喜欢
        • 2020-05-16
        • 2022-01-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-12-25
        • 1970-01-01
        相关资源
        最近更新 更多