Csharp/C#教程:列表框ItemTemplate选择器不选择模板分享


列表框ItemTemplate选择器不选择模板

我试图在我在不同文件上创建的网格中的列表框上使用ItemTemplateSelector,以便以后由MainWindow调用。

这是我的DataTemplateSelector代码

public class TemplateSelector : DataTemplateSelector { public override DataTemplate SelectTemplate(object item, DependencyObject container) { FrameworkElement element = container as FrameworkElement; if (element != null && item != null && item is myClass) { myClass agg = item as myClass; if(agg.myType == a) { return element.FindResource("greenItemTemplate") as DataTemplate; } else if (agg.myType == b) { return element.FindResource("yellowItemTemplate") as DataTemplate; } else if (agg.myType == c) { return element.FindResource("redItemTemplate") as DataTemplate; } } return null; } } 

这是我的xaml

                                 

但是,虽然绑定工作正常(列表中出现非格式化对象的列表),但ItemTemplateSelector不会调用TemplateSelector方法。 我在方法的开头放了一个断点,它从未调用过。

有谁知道可能是什么问题?

@Rachel是对的。 您的DataTemplateSelector仅在加载时调用一次,而不是INPC更改。

您可以为要求做的是使用ListBoxItemStyleDataTrigger切换所使用的Template

就像是:

                          

和用法:

上述就是C#学习教程:列表框ItemTemplate选择器不选择模板分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

  

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/957596.html

(0)
上一篇 2021年11月21日
下一篇 2021年11月21日

精彩推荐