web-dev-qa-db-ja.com

依存関係プロパティとは何ですか?その用途は何ですか?

可能性:
依存関係プロパティとは何ですか?

依存関係プロパティとは何ですか?通常の物件とどう違うのですか?依存関係プロパティの目的は何ですか?そして、それが使用されるとき、なぜそれが使用されるのですか?

19
Thiru G

依存関係プロパティ依存関係プロパティに裏打ちされたプロパティ。

依存関係プロパティの目的は、プロパティの値を計算する方法を提供することですベース他の入力の値

これらの他の入力には、テーマやユーザー設定などのシステムプロパティ、データバインディングやアニメーション/ストーリーボードなどのジャストインタイムのプロパティ決定メカニズム、リソースやスタイルなどの多目的テンプレート、または親子関係を通じて知られる値が含まれる場合があります。要素ツリーの他の要素。

次の機能があります。

  • プロパティはスタイルで設定できます。

  • プロパティは、データバインディングを介して設定できます。

  • プロパティは、動的リソース参照を使用して設定できます。

  • プロパティは、要素ツリーの親要素からその値を自動的に継承できます。

  • プロパティはアニメーション化できます。

  • プロパティは、プロパティの以前の値が変更されたときにレポートでき、プロパティ値を強制変換できます。

  • プロパティは、プロパティ値を変更するためにレイアウトシステムが要素のビジュアルを再構成する必要があるかどうかなどの情報をWPFに報告します。

  • このプロパティは、WPF Designer for VisualStudioでサポートされます。たとえば、プロパティは[プロパティ]ウィンドウで編集できます。

(MSDNから取得したコンテンツ)

14
Shekhar_Pro

依存関係プロパティ 値をクラスの外部に格納するため、オブジェクトのクラスを変更せずにプロパティをオブジェクトに割り当てることができます。また、オブジェクトが非常に多くのプロパティを持っている可能性があるが、デフォルト以外の値を持っているのはごくわずかであるというWPFで一般的な状況もサポートします。依存関係プロパティにはデフォルト値を設定できるため、メモリ使用量が削減されます。他にもたくさんあります。MSDNの記事を読んでください: 依存関係プロパティの概要

4
Douglas

MSDNの記事 でより多くの情報が得られると思います。

私が読んだところによると、依存関係プロパティは他の値に依存しています。

依存関係プロパティの目的は、他の入力の値に基づいてプロパティの値を計算する方法を提供することです。これらの他の入力にはシステムプロパティが含まれる場合がありますテーマやユーザー設定、データバインディングやアニメーション/ストーリーボードなどのジャストインタイムのプロパティ決定メカニズム、リソースやスタイルなどの複数回使用のテンプレート、要素ツリーの他の要素との親子関係を通じて知られる値など。さらに、依存関係プロパティを実装して、自己完結型の検証、デフォルト値、他のプロパティへの変更を監視するコールバック、および潜在的なランタイム情報に基づいてプロパティ値を強制できるシステムを提供できます。派生クラスは、既存のプロパティの実際の実装をオーバーライドしたり、新しいプロパティを作成したりするのではなく、依存関係プロパティのメタデータをオーバーライドすることで、既存のプロパティの特定の特性を変更することもできます。

4
RvdK

Dependency 属性(Microsoft.Practices.Unityで定義されている)を持つプロパティについて話している場合

[Dependency]
public string MyProperty { get; set; }

次に、これはUnityフレームワークによる依存性注入(DI)に使用されます。基本的に、プロパティ値は、コードで直接設定されるのではなく、実行時にDIフレームワークによって設定されます。

ただし、System.Runtime.CompilerServicesで定義されている別の Dependency 属性があります。質問を更新してください。

2
RB.