2016-10-10 7 views
1

私はTextBoxを持っており、IValueConverterをTextProperty-Bindingのコードビハインドに追加しようとしています。既存のバインディングにIValueConverterを追加する方法

 var bindingExpression = TextBox.GetBindingExpression(TextBox.TextProperty); 
     if (bindingExpression != null && bindingExpression.ParentBinding.Converter == null) 
     { 
      bindingExpression.ParentBinding.Converter = new MyConverter(); 
     } 

このステップでは、以下の例外がスロー:それが使用された後バインディングを変更することはできません。 プロパティを変更するには、以前にバインディングにアクセスするにはどうすればよいですか?

+0

あなたは答えを確認しました – AnjumSKhan

答えて

0
  1. 新しいBindingを作成して適用します。古いBindingインスタンスからさまざまなプロパティを取得できます。

    または、

  2. 使用Trigger条件Binding、1とし、IValueConverterのない別のものを適用します。

+0

2番目のソリューションはどのように機能しますか?あなたは例を挙げることができますか?新しいBindingを作成することはそれほどエレガントではありません。 –

+0

@ Mi.Sharp状況が必要な場合、すべてがエレガントです。 – AnjumSKhan

関連する問題