どのようにC#でこれを行うのですか? プログラムによるデータバインディング
<TextBlock Text={Binding MyProperty}/>
のDataContextを想定
は、MyClassのどのようにC#でこれを行うのですか? プログラムによるデータバインディング
<TextBlock Text={Binding MyProperty}/>
のDataContextを想定
は、MyClassのあなたは、C#からデータバインディングを構築するためにFrameworkElement.SetBinding()を呼び出すことができる種類のクラスに設定されています。
var binding = new Binding("MyProperty");
BindingOperations.SetBinding(_textBlock, TextBlock.TextProperty, binding);
<TextBlock x:Name="txt"/>
// C#
txt.SetBinding(TextBox.TextProperty, "MyProperty");
は、Bindingオブジェクトを作成し、結合をより細かく制御したい場合はSetBindingにそれを渡します。
シンプル:あなたのTextBlock
が_textBlock
と呼ばれていると仮定すると、
Seconded。ケントがここでLOBアプリケーションで説明しているコードを使用しましたが、これは完全に機能します。バインディングのターゲットがデフォルトでTwoWayをサポートしていない場合は、バインディングオブジェクトのModeプロパティを設定するように注意してください。 – Mark
いつ呼びますか?コンストラクタで?それは問題ですか? – Jose
コントロールとデータの間にバインディングが必要な場合に呼び出します。一般的にそれはコンストラクタにありますが、それは確かに別の場所にある可能性があります。 –