誰がWPFの依存関係プロパティのための最高のメタファーを持っていますか?
-
20-08-2019 - |
質問
私はC#2008でWPFのレシピを読んでいます
http://www.apress.com/book/view/9781430210849する
と、彼らはあなたが依存関係プロパティがどのように機能するかを知っているasssume第三レシピから始まります。
だから、少しグーグルでの後、私はこれらを別のオブジェクト内に置かれたときには、ホスト・オブジェクトに「文脈に適応し、」オブジェクトのプロパティであることを一般的に理解しています。私はまた、「あなたは本当に彼らが彼らの文脈に依存するため、これらのプロパティの値が何であるかを知っていることはありません。」と「学習」
本書に記述されているもののしかし、まだ多くのアプリケーションを構築するとき、私はこれらを使用することができる方法がないアイデアを私に残します。
の人々は彼らと一緒に始まり、知りたいとき、彼らはそれらを使用する方法のための依存関係プロパティの良いメタファーかの例を持って誰ですか?
解決
彼らはWPFを使用していくつかの特別な「フック」を持っている以外の依存関係プロパティは普通のプロパティに似ています。
一つ特別なことは時々あなたがプロパティの値を設定しない場合は、それが中に配置されたコントロールから値を受け取ります(あなたがボタンのフォントを設定した場合、ボタン内のテキストブロックは、このフォントを使用することですあなたがテキストブロックごとに異なるフォント)を指定しない限り、私はこれがすべて「の値を知ることはありません」ナンセンスの源であると仮定します。
あなたは変更が自動的に制御を起こす必要があるかどうかを指定することができますので、あなたはおそらく、依存関係プロパティを使用する必要がありますWPFコントロールを作成している場合は、それ自体(およびそれ以上)の再レンダリング、あなたはデータバインディングのためにそれらを使用することができます。
あなたはあなたにいくつかの作業を保存する唯一の依存関係プロパティを使用して、Freezableの(直接的または間接的に)から派生したクラスを記述する場合。
あなたはWPF固有のものではないクラスを記述している場合は、依存関係プロパティを使用する理由は、おそらくありません。