2012-02-13 13 views
2

私は、汎用オブジェクトを含むことができるTheObjectというカスタムDependencyPropertyを作成したカスタムコントロールを持っています。依存するプロパティのデータバインドの喪失

<comp:MyControl TheObject="{Binding Country}" /> 

時々、私は内部的に(コードによって、内部コントロールに)TheObjectを設定する必要があります。

私はこのようなものでした:

this.TheObject = new Country(); 

をしかし、私はそれがDataBindingの損失を引き起こしていると、コントロールはデータの変更に応答していない状態になることに気づきました。 私が本当に望むのは、この新しいオブジェクトが、プロパティの既存のDataBindingに接続されたままであるということです。

答えて

3

使用SetCurrentValue

この方法は、プログラムプロパティのアプリケーションの宣言の使用を無効にすることなく、独自のプロパティの1つの値を設定するコンポーネントによって使用されます。 SetCurrentValueメソッドは、プロパティの実効値を変更しますが、既存のトリガー、データバインディング、およびスタイルは引き続き機能します。

this.SetCurrentValue(TheObjectProperty, new Country()); 
+0

ありがとう。それは正常に働いた。私は 'SetValue'メソッドを使用しようとしていました。 –

関連する問題