2

C#2008でWPFレシピを読んでいます:

http://www.apress.com/book/view/9781430210849

3番目のレシピから始めて、依存関係のプロパティがどのように機能するかを知っていることを前提としています。

したがって、少しグーグルした後、これらはオブジェクトのプロパティであり、別のオブジェクト内に配置されると、ホストオブジェクトの「コンテキストに適応」することを一般的に理解しています。また、「これらのプロパティはコンテキストに依存するため、これらのプロパティの値が実際にはわからない」ことも「学びました」。

しかし、この本で説明されていることの多くは、アプリケーションを構築するときにこれらをどのように使用できるかわからないままです。

それらから始めて、いつ、どのようにそれらを使用するかを知りたい人々のための、依存関係プロパティの良いメタファーまたは例を持っているのは誰ですか?

4

1 に答える 1

3

依存関係のプロパティは、WPFが使用する特別な「フック」があることを除けば、通常のプロパティと同じです。

特別なことの1つは、プロパティ値を設定しない場合、配置されているコントロールからその値を受け取ることがあることです(したがって、ボタンのフォントを設定すると、指定しない限り、ボタン内のテキストブロックがこのフォントを使用しますテキストブロックの別のフォント)、これがすべての「値を知らない」ナンセンスの原因であると思います。

WPFコントロールを作成している場合は、依存関係プロパティを使用する必要があります。これは、変更によってコントロールが自動的に再レン​​ダリングされるかどうか(およびそれ以上)を指定でき、データバインディングに使用できるためです。

Freezableから派生したクラスを(直接的または間接的に)依存関係プロパティのみを使用して記述している場合は、作業を節約できます。

WPF固有ではないクラスを作成している場合は、依存関係プロパティを使用する理由はおそらくありません。

于 2009-01-26T09:58:58.023 に答える