2012-01-18 4 views
1

私はプロパティを登録していないので、コールバックを変更したプロパティをどのように追加するのですか?オブジェクトのNameプロパティにコールバックを変更したプロパティを追加するにはどうすればよいですか?

これは動作します:継承された

WpfApplication1.Node.NameProperty」非表示:

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

を私は理解していない警告があるので、多分これを行うための別の方法がありますメンバ 'System.Windows.FrameworkElement.NameProperty'。隠れが意図されていた場合は、新しいキーワードを使用してください。

答えて

0

クラス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))); 

を書くことができます。

関連する問題