2012-04-30 2 views
3

私はすでにBinding.DoNothingについて知っています。これはIValueConverterの実装から戻って他の操作を行わないことを示しています。値を変換するときのWPFのバインディングエンジンの特別な値は何ですか?

しかし、フォールバック値を返すなど、他の特別な値が何であるかは、参考文献やドキュメントをうまくまとめて見つけることができません。彼らは何ですか?

+0

バインディングが最初に機能しない場合や、バインディング時に例外がスローされた場合にフォールバックが発生します。 –

+0

このような値を知る最も良い方法は、[Binding](http://msdn.microsoft.com/en-us/library/ms617928.aspx)と[BindingBase](http://msdn.microsoft .com/ja-ja/library/ms618281.aspx)クラスを使用します。あなたが使用できるものはすべてそこに記載されています – koshdim

答えて

9

Binding.DoNothingは、の値のコンバーターから積極的に戻るオブジェクトインスタンスです。バインディングエンジンにターゲットプロパティの値をまったく更新しないように指示します。 Josh Smithのa nice exampleは、これを使用する可能性があります。

は、バインディングで設定するプロパティです。バインディングソース(例えば、間違った結合パスを)解決することはできません

  • 、または
  • バインディングプロパティの値がDependencyProperty.UnsetValue、または
  • に等しいです:それは場合は、targetプロパティに適用する値を指定することができます結合のために使用さ
  • 値変換バインディングパイプラインによって生成DependencyProperty.UnsetValue、又は
  • 値がターゲットプロパティ(例えば、間違ったタイプ)に有効でない結合返すために使用される値変換を例外をスロー、または

TargetNullValueも、バインディングで設定したプロパティです。 sourceプロパティの値がnullの場合、ターゲットプロパティに適用する値を指定することができます。たとえば、テキストボックスを文字列プロパティにバインドする場合、TargetNullValueは、ソース文字列がnullの場合、テキストボックスに表示される内容を選択できます。

+0

ああ! DependencyProperty.UnsetValue。それは私が探していたものでした。 –