基本上,有没有办法将所有者添加到DependenyProperty,以便它成为新所有者的附加属性?这样我可以做类似的事情:
PrimaryControl - 原始所有者
OtherControl - 第二位所有者
<my:Something my:OtherControl.MyProperty="hello world" />
答案 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);
}
}