2011-07-21 5 views
1

SilverLightアプリケーションを維持していて、一部のテキストボックスのテキストを手動で再バインドする必要がありました。UpdateSource()を使用するときにTwoWayバインディングでConvertBack()を無効にする

myTextBox.GetBindingExpression(TextBox.TextProperty).UpdateSource(); 

問題は私のTextBoxが双方向に結合持っている必要があることを行うために、であるので、私はそれを設定します。

は、だから私は使用しています。 そのコントロールは、ConvertBackを実行してはならない非正統のIValueConverterを使用しますが、TwoWayバインディングを取得してから呼び出されます。

ConvertBack()を無効にしてConvert()にそのジョブをさせる方法はありますか?

感謝;)

+0

DependencyProperty.UnsetValueを返すことです、あなたのXAMLを投稿すると、あなたは、私たちは実用的(およびテスト)の修正を提供することができますすることができますどのようなコードをしてください。 –

答えて

1
あなたは両方の方向を扱うコンバータを使用する必要があります

...

サブクラス既存のコンバータとConvertBackは、既存の非表示(および変換だけで呼び出している間に何か無害)を返してい変換する。

+0

IValueConverterは文字列を7〜21の範囲の整数に変換します。 ConvertBackはオプションではありません。 – FatalBaboon

+0

したがって、サブクラスのConvertBackは文字列をそのまま返します。 –

+0

ConvertBackはパラメータとしてTextBoxから整数を取得します。文字列を持たず、intを文字列に変換する必要がありますが、これは不可能です。 – FatalBaboon

関連する問題