0

ローカル変数またはグローバル変数が WPF データ バインディングのソースとして許可されない理由について、私はこの点についてグーグルで調べていました。ラッピング プロパティのみにバインドできます。

したがって、問題は、プロパティが変数のラッパーである場合、これらのプロパティが許可され、変数が許可されない理由です。

フードシステムの下で知る必要があります。

4

2 に答える 2

3

バインディングに使用されるメカニズム ( PropertyDescriptorDependencyPropertiesなど) はプロパティのみを使用します。これが、フィールドにバインドできない理由です。プロパティは、検証、変更通知などを提供できます。これは、プロパティを好むもう 1 つの理由です。フィールドはこれらのどれも提供しません。

また、パブリック フィールドを使用することは通常悪い習慣ですが、なぜわざわざフィールドへのバインドを実装する必要があるのでしょうか? それはそれらの悪い慣行を助長するだけです。

于 2012-05-25T10:41:42.503 に答える
1

まあ、それは完全に真実ではありません。バインディングにフィールドを使用できますが、最初にリソースのように宣言し、バインディング宣言でリソースキーを介してアクセスした後にフィールドを宣言する必要があります。

コードにバインドする場合、プロパティへのバインドは、OnPorpertyChanged通知も送信できるようにするために行われます。

于 2012-05-25T10:39:18.283 に答える