3

私が抱えている問題はおそらく非常に簡単に解決できますが、初心者の観点からは難しいようです。

同時に表示される 2 つのウィンドウを作成しました。1 つは ListBox で、もう 1 つは TextBox です。window1.ListBox.SelectedValue を window2.TextBox.Text プロパティにプログラムでバインドしたいと思います。値コンバーターを使用していません。

コードは簡単です。

      var binding = new Binding("SelectedValue");
      binding.Source = window1.ListBox;
//      binding.Path = new PropertyPath(ListBox.SelectedValueProperty);
      var bound = window2.TextBox.SetBinding(TextBlock.TextProperty, binding);

パフォーマンス上の理由から、プロパティ名の代わりに DependencyProperty インスタンスを使用してバインドしたいのですが、名前によるバインドも試しました。バインディングは機能しません。

ここからダミーの VS2010 プロジェクトをダウンロードできます。

これは別の質問につながります-バインディングをデバッグする方法、バインディングの変更を検出するためにサブスクライブするイベント (存在する場合) はどれですか?

4

1 に答える 1

7

問題が解決しました - TextBox.TextProperty である必要があるのに、TextBlock.TextProperty で SetBinding を誤って呼び出しました。

于 2012-06-07T08:50:50.293 に答える