2011-12-22 2 views
0

私はWPFのデータバインディングを使用し始めているので、この質問の基本的な性質を言い訳してください。データバインディングイベント引数オブジェクト

カスタムイベントを受け取っているユーザーコントロールがあり、イベント引数の1つがこのユーザーコントロールのコントロールにバインドするオブジェクトです。

私は、コンボボックスのようなコントロールにバインドし、グリッド上のデータコンテキストをコンボボックスの選択項目に設定し、コントロールをバインドする例をいくつか持っています。私はこのユーザーコントロールで何か似たようなことに興味がありますが、私はオブジェクトをバインドすることができず、それがイベントに来ることに気付きません。

ご提案は大歓迎です。

ありがとうございます。あなたのイベントハンドラは、ユーザーコントロールのコードビハインドになっている場合

答えて

1

、あなただけのような何か書くことができます。

DataContext = args.ObjectIWantToBindTo; 

をしてからXAMLであなただけの通常のバインディングを書くことができますし、彼らは、プロパティにバインドします(例えば、オブジェクトにプロパティ "Foo"がある場合は、XAMLに "{Binding Foo}"と書いてください)。ユーザーコントロール全体をオブジェクトにバインドするのではなく、XAMLの要素を1つだけバインドする場合は、その1つの要素のDataContextを設定します。あなたが持っていた場合、例えば:

<Grid Name="theGrid">... 

を次のように記述します。

theGrid.DataContext = args.ObjectIWantToBindTo; 

そして、XAMLであなたはのようなものを言うことができる:

あなたのイベント引数オブジェクトが持っていた
<Grid Name="theGrid" Width="{Binding GridWidth}">... 

を"GridWidth"プロパティ。

+0

ダナ、これは正しい方向を指摘してくれました。ありがとうございました。 WPFデータバインディングに関する良い本の提案はありますか? – MikeMalter

+0

@MikeMalter:[MSDN](http://msdn.microsoft.com/en-us/library/ms752347.aspx)? –

+0

本についてはわかりませんが、MVVM(Model View ViewModel)を読んでいない場合は、そこから始めます。 –

関連する問題