我有一个从数据网格继承的自定义控件。每次将数据绑定到网格时,我都必须评估一个属性。我目前正在使用 DataSource="{Binding....}" 进行绑定
有没有一种方法可以创建一个新的依赖属性(?),每次更改 DataSource 属性时都会对其进行评估?我可以以某种方式将我的方法“附加”到 DataSource 属性吗?
我希望我的意图很明确。
感谢您的任何想法。
我有一个从数据网格继承的自定义控件。每次将数据绑定到网格时,我都必须评估一个属性。我目前正在使用 DataSource="{Binding....}" 进行绑定
有没有一种方法可以创建一个新的依赖属性(?),每次更改 DataSource 属性时都会对其进行评估?我可以以某种方式将我的方法“附加”到 DataSource 属性吗?
我希望我的意图很明确。
感谢您的任何想法。
如果您继承自DataGrid
,则可以重写该OnItemsSourceChanged
方法,如下所示:
protected override void OnItemsSourceChanged(IEnumerable oldValue, IEnumerable newValue)
{
// update your property here
base.OnItemsSourceChanged(oldValue, newValue);
}
我能够通过覆盖 OnPropertyChanged 并使用以下代码以及我的新依赖属性来处理这个问题 -
if(e.Property.Name = "DataSource")
{
// Invoke my new method
}