WPF拦截依赖属性

时间:2012-06-07 18:23:38

标签: wpf

我有一个继承自datagrid的自定义控件。每次数据绑定到网格时,我都要评估属性。我目前正在使用DataSource =“{Binding ....}”

进行绑定

有没有办法可以创建一个新的依赖项属性(?),每次更改DataSource属性时都会对其进行评估?我可以以某种方式将我的方法“附加”到DataSource属性吗?

我希望我的意图很明确。

感谢您的任何想法。

2 个答案:

答案 0 :(得分:1)

如果您继承自DataGrid,则可以覆盖OnItemsSourceChanged方法,如下所示:

protected override void OnItemsSourceChanged(IEnumerable oldValue, IEnumerable newValue)
{
    // update your property here
    base.OnItemsSourceChanged(oldValue, newValue);
}

答案 1 :(得分:0)

我能够通过覆盖OnPropertyChanged并使用以下代码和我的新依赖项属性来处理这个问题 -

if(e.Property.Name = "DataSource")
{
// Invoke my new method
}