WPF Combobox中的独特值
我想在我的数据绑定combobox中获得不同的值
作为一个例子,它具有的值是:蓝色,蓝色,黄色,红色,橙色
我希望它只显示一次蓝色。
我的主要想法是将所有combobox值都放入一个数组中,将数组设置为distinct,然后重新填充combobox。 还有别的办法吗?
如果不是,我将如何从combobox中获取所有值?
谢谢
编辑 – class级:
public class DistinctConverter : IValueConverter { }
编辑 – 调试:
您可以创建一个IValueConverter
,将列表转换为不同的列表:
public class DistinctConverter : IValueConverter { public object Convert( object value, Type targetType, object parameter, CultureInfo culture) { var values = value as IEnumerable; if (values == null) return null; return values.Cast
将此添加到资源:
并像这样使用它:
假设你有一个List
你可以做
ComboBox.ItemsSource = values.Distinct();
或者如果您要使用MVVM方法,您可以创建一个属性并使用类似属性绑定comboboxitemssource
public List values { get { return value.Distinct(); } }
如果您使用的是WPF c#4.0
List