2009-07-29 16 views
0

UserControlから継承するコントロールを持っているとします(したがって、スーパークラスの1つはDependencyObjectです)。 DependencyPropertyを使用して通知の問題を解決するのは非常に簡単です。INotifyPropertyChangedは少し実装する必要があり、もう1つはコントロールの状態を変更するメソッドを作成するためです(myControl.HideTextBox()など)。私はこれを解決するいくつかのオプションがあると思いますが、コントロールがすでにDependencyObjectから継承しているので、DependencyPropertyがより明白なようですが、最適ではないかもしれません。依存関係プロパティの使用コスト

ありがとうございます!

答えて

4

依存関係プロパティの本当の特徴は、あなたが無料で変更通知を受け取るというわけではありません。実際の機能は、依存関係プロパティのみがデータバインディングのターゲットになることです。これは、プロパティが依存関係であるべきかどうかを決定する際にまず第一に考慮する必要があります。

コントロールの場合、ほとんどすべてのプロパティはバインド可能である必要があります。

+0

私は一種の混乱しています。あなたはそれがDependencyPropertiesの本当の特徴ではないと言ったが、あなたはほとんどすべてのプロパティがバインド可能でなければならないと言っていた。それは私の例のために使ってもいいのですか? – Carlo

+0

私の答えの2番目の段落を参照してください。あなたが疑問に思っているあなたのコントロールと不動産についてもっと詳しく話さない限り、私は本当に他のことを言っても過言ではありません。私はまた、在庫のWPFコントロールを見て、そのプロパティのどれが依存関係であるかを見てみることをお勧めします(ほとんどすべてが存在することがわかります)。 –

関連する問題