7

IValueConverter 実装から返すことができるBinding.DoNothingについては、他の操作が行われないことを示すために既に知っています。

ただし、フォールバック値を返すなど、他の特別な値が何であるかをうまくまとめたリファレンスやドキュメントが見つかりません。彼らは何ですか?

4

1 に答える 1

16

Binding.DoNothing値コンバーターからアクティブに返すオブジェクト インスタンスです。これは、ターゲット プロパティの値をまったく更新しないようバインディング エンジンに指示します。Josh Smith による、これを何に使用できるかの良い例を次に示します。

FallbackValueバインディングに設定するプロパティです。次の場合に、ターゲット プロパティに適用する値を指定できます。

  • バインディング ソースを解決できない (バインディング パスが間違っているなど)。
  • バインディング プロパティの値が に等しいDependencyProperty.UnsetValue、または
  • バインディングに使用される値コンバーターが例外をスローする、または
  • バインディングに使用される値コンバーター return DependencyProperty.UnsetValue、または
  • バインディング パイプラインによって生成された値は、ターゲット プロパティに対して有効ではありません (たとえば、型が間違っています)。

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

于 2012-04-30T14:10:11.570 に答える