使用new关键字覆盖依赖项属性

时间:2015-09-14 11:59:23

标签: c# wpf override dependency-properties

如果我想在WPF中设置依赖项属性时添加一些自定义操作,是否正确,用c#中的new关键字覆盖它?

例如,我想在设置控件的ItemsSource时添加自定义行为:

public new object ItemsSource
{
    get
    {
        return base.ItemsSource;
    }
    set
    {
        handleSelectionChanged = true;
        base.ItemsSource = value;
    }
}

这会引起任何副作用吗?我不确定我是否以正确的方式做到了。

谢谢!

1 个答案:

答案 0 :(得分:1)

如评论中所述,new关键字将隐藏继承的成员,您可能会失去一些功能(尚未完成测试)

这是link解释Metadatas的一些提示。

对于ItemsSource,我建议您将PropertyChangedCallbackCoerceValueCallback附加到您的初始财产。