0

私は、WPF でのデータ バインディングのニュアンスのいくつかを理解しようとしています。バインディングでソースを直接指定するか ( 、 などを使用)、またはターゲットのオブジェクト階層内の に依存して、ターゲットの祖先を横断する最初のセット値がバインディングのソースを提供することを理解しSourceていRelativeSourceます。DataContextDataContext

私が解決できなかったのは、ソースが何らかの方法で設定されていない場合に何が起こるかです (つまり、DataContextがターゲットの祖先のどこにも明示的に設定されておらず、バインディングで のみが指定されているPath)。

  1. バインディング エンジンは、で指定されたソース プロパティをどこで検索しPathますか?
  2. この状況でバインディングが失敗した場合、VS の [出力] ウィンドウにエラーが表示されないのはなぜですか (バインディング エラーは通常、ここに表示されます)。

(.net 4.5、VS 2012 RC、Win 7 32 ビット)

4

1 に答える 1

1

何が起こるかというと、バインディングは何にもバインドされません。DataContext を明示的に設定する必要がない (論理ツリーの上位にある他の要素から継承される) ため、これはバインディング エラーではありません。そのため、DataContext が設定されるのを待つコントロールを持つことは完全に有効です。

于 2012-09-06T16:15:20.837 に答える