WPF ComboBox的自定义相等比较器

时间:2012-11-23 02:00:30

标签: .net wpf data-binding combobox

当我们将组合框的SelectedItem绑定到属性时,通常它将使用对象类型的Equals方法来确定应该在ComboBox视图中显示的所选项。 (例如,参见this question

是否可以为此创建自己的比较器,而无需修改类'equals方法?我不想直接修改方法的原因是因为该类也用于业务逻辑,我不希望我的相等比较器影响使用相同类的其他东西

1 个答案:

答案 0 :(得分:1)

  

我不想直接修改方法的原因是因为该类也用于业务逻辑,我不希望我的相等比较器影响使用同一类的其他东西

这通常表示需要的包装器:

public class Wrapper<T>
{
    public override string ToString() { ... }

    public override bool Equals(object obj) { ... }

    public T UnderlyingRecord { get; set; }
}

通过这种方式,您可以正常进行,只有视图才会使用包装器对象。