WPF依赖属性:多次频繁调用

时间:2017-06-05 10:16:33

标签: wpf

我在C#应用程序中调用依赖属性(DP)来更新Graphics(基于DirectX)。 错误的是,我在视图模型中从同一个函数调用了两次。

public List<IObj> ModifiedData
{
    get
    {
        return modifiedData;
    }

    set
    {
        if (modifiedData != value)
        {
            modifiedData = value;
            RaisePropertyChanged(() => this.ModifiedData);
        }
     }
  }

第一个是调用没有在目标端(图形)触发DP处理程序。

以下是DP处理程序:

public static DependencyProperty ModifiedDataProperty = DependencyProperty.Register(
   "ModifiedData",
   typeof(List<IObj>),
   typeof(MyRenderer),
   new PropertyMetadata(new PropertyChangedCallback(OnModifiedDataUpdated)));

public List<IObj> ModifiedData
{
    get{ return (List<IObj>)this.GetValue(ModifiedDataProperty); }
    set{ this.SetValue(ModifiedDataProperty, value); }
}

private static void OnModifiedDataUpdated(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
    // Do work - but this is not called !
}

然后我注释掉第二个电话(这是不必要的)并且第一个电话开始工作。 如果系统接到第二个电话,似乎第一个呼叫被中断了!

所以我的问题是,如果在很短的时间间隔内调用两次依赖属性/属性处理程序,它应该如何工作?

0 个答案:

没有答案