依赖属性 - 如何添加所有者以使其充当附加属性?

时间:2011-05-19 12:30:02

标签: wpf dependency-properties attached-properties

基本上,有没有办法将所有者添加到DependenyProperty,以便它成为新所有者的附加属性?这样我可以做类似的事情:

PrimaryControl - 原始所有者
OtherControl - 第二位所有者

<my:Something my:OtherControl.MyProperty="hello world" />

1 个答案:

答案 0 :(得分:3)

是的,您可以使用AddOwner执行此操作。你的另一个控件看起来像是:

public static class OtherControl {

    // MyProperty attached property
    public static readonly DependencyProperty MyPropertyProperty =
        PrimaryControl.MyPropertyProperty.AddOwner(typeof(OtherControl));

    public static string GetMyProperty(DependencyObject obj) {
        return (string)obj.GetValue(MyPropertyProperty);
    }

    public static void SetMyProperty(DependencyObject obj, string value) {
        obj.SetValue(MyPropertyProperty, value);
    }

}