Свойства зависимости - Как добавить владельца, чтобы он действовал как присоединенное свойство? - PullRequest
2 голосов
/ 19 мая 2011

В принципе, есть ли способ добавить владельца в DependenyProperty, чтобы он стал присоединенным свойством этого нового владельца? Таким образом, я могу сделать что-то вроде:

PrimaryControl - владелец оригинала
OtherControl - второй владелец

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

1 Ответ

3 голосов
/ 19 мая 2011

Да, вы можете сделать это, используя 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);
    }

}
...