追加の属性の性質は、属性の依存関係、依存関係プロパティおよび一般的な相違点です。
1:このようなDependencyProperty.RegisterAttachedように、同じではないメソッド名を登録します
2:共通プロパティラッパーはありませんが、パッケージはプロパティのgetとsetプロパティによって達成されます
3:普通の.NETプロパティ
パブリック 静的 読み取り専用たDependencyProperty KeepAliveProperty = DependencyProperty.Register(
" キープアライブ"、
typeof演算(BOOL)、
typeof演算(ウィンドウ)、
新しい PropertyMetadata(KeepAliveChanged))。
/// <要約> /// 現代の例のフレームで指定されたオブジェクトのアクティブ状態を維持するかどうかを示す値を取得/// </要約> /// <PARAM NAME =「O」> オブジェクトのターゲット依存性の。</ param>の /// <返し> Keep Aliveを。残すためにヌルModernFrameでの決定でのオブジェクトの内のモデルタイプを。</返す> パブリック 静的 BOOL?getKeepAlive(DependencyObjectのO) { もし(O == nullの){ スロー 新しい例外ArgumentNullException(" Oを" ); } リターン(BOOL?)o.GetValue(KeepAliveProperty)。 } /// <要約> ///は、現代の例のフレームで指定されたオブジェクトのアクティブ状態を維持するかどうかを示す値を設定する/// </要約> /// <PARAM NAME =「O」> オブジェクトのターゲット依存性の。</ param>の /// <PARAM NAME = "値"> オブジェクト内のモデルタイプをアライブ維持するために。ヌル残すために決定をModernFrameへ。</ param>の パブリック 静的 ボイド setKeepAlive(OのDependencyObject、BOOL?値) { もし(O == nullの){ スロー 新しい例外ArgumentNullException(" Oを" ); } o.SetValue(KeepAliveProperty、値)。 }
プライベート 静的 無効KeepAliveChanged(のDependencyObjectのD、E DependencyPropertyChangedEventArgs) { するvar = Dウィンドウとしてウィンドウ。 もし(ウィンドウ!= nullの) { window.DialogResult = e.NewValue として BOOL?; } }
使用法: