4

我有一个自定义类 MyPerson。所有(相关)属性都实现 INotifyPropertyChanged。我创建了一个 UserControl 来显示它,一切正常。绑定到 MyPerson.FirstName(字符串)之类的属性都可以正常工作 - 它们按预期显示和更新(双向绑定)。

现在我想在代码隐藏中做更复杂的事情,所以我想创建一个 PropertyType 为 MyPerson 的 DependencyProperty,但我不确定如何构造 DependencyProperty,尤其是 PropertyChangedCallback 部分。

这可以做到吗?怎么会这样?

4

1 回答 1

1

阅读本文 -自定义依赖属性

就像是 -

public static readonly DependencyProperty MyPersonValueProperty = 
      DependencyProperty.Register( "MyPersonValue", typeof(MyPerson), 
         typeof(MyPersonControl), new FrameworkPropertyMetadata(null, 
             FrameworkPropertyMetadataOptions.AffectsRender,
               new PropertyChangedCallback(OnPersonChanged) ) ); 

public MyPerson ThePerson
{ 
    get { return (MyPerson)GetValue(MyPersonValueProperty); }
    set { SetValue(MyPersonValueProperty, value); }
}

private static void OnPersonChanged(DependencyObject d, 
                                 DependencyPropertyChangedEventArgs e)
{
    // Property change code here
}
于 2013-03-17T09:07:43.720 回答