Как добавить свойство измененного обратного вызова в свойство Name объекта? - PullRequest
1 голос
/ 19 января 2012

Поскольку я не зарегистрировал свойство, как бы я добавил обратный вызов измененного свойства?

Это работает:

public static readonly DependencyProperty NameProperty =
    FrameworkElement.NameProperty.AddOwner(typeof(Node), new FrameworkPropertyMetadata("Node", new PropertyChangedCallback(NamePropertyChanged)));`

, но есть предупреждение, которое я не понимаю,поэтому, возможно, есть другой способ сделать это:

WpfApplication1.Node.NameProperty 'скрывает унаследованный член' System.Windows.FrameworkElement.NameProperty '.Используйте новое ключевое слово, если было скрыто.

1 Ответ

0 голосов
/ 19 января 2012

Ваш класс Node, кажется, является производным от FrameworkElement (или подкласса FrameworkElement).И Node, и FrameworkElement определяют

public static readonly DependencyProperty NameProperty;

, который генерирует предупреждение компилятора.Просто напишите

public static new readonly DependencyProperty NameProperty ...

в классе Node.

Вы также можете написать

FrameworkElement.NameProperty.OverrideMetadata(
    typeof(Node),
    new FrameworkPropertyMetadata("Node", new PropertyChangedCallback(NamePropertyChanged)));

в статическом конструкторе Node.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...