【发布时间】:2011-10-19 08:28:07
【问题描述】:
为什么要以这种方式创建 DependencyProperty 成员:
public static readonly DependencyProperty DepProperty = DependencyProperty.Register(...);
而不是那样:
protected static readonly DependencyProperty DepProp = DependencyProperty.Register(...);
当我们拥有 CLR“包装器”时,为什么我们需要从外部使用 DevProp 成员:
public bool Dep
{
get { return (bool)GetValue(DepProperty); }
set { SetValue(DepProperty, value); }
}
【问题讨论】:
-
除了给定的答案之外,请记住,在某些情况下您确实需要访问 DP 本身。例如。
public static readonly DependencyProperty Prop = Owner.Prop.AddOwner(typeof(thisClass), new FrameworkPropertyMetadata(Owner.Prop.DefaultMetadata.DefaultValue));此外,包装器只是一种帮助器,用于 XAML