0

編集:私は割り当てを読み間違えました....彼は私たちが先に進むことを望んでいないのでイベントハンドラーはありません。表示されるコントロールにデータセットをバインドするだけです。

wpfの宿題に関する小さな問題。私たちは各作品のプログラムに基づいて構築しており、現在は拘束力を持っています。ユーザーがデータをテキストボックスに入力すると、2セットのデータが2つのデータグリッドに表示されます。現在、表示される内容は、データベースから取得するのではなく、ハードコーディングされています。データを表示するように取得でき、テキストボックス入力に基づいて正しいデータを表示するように取得できますが、イベントハンドラーを使用することは許可されていません。では、イベントハンドラーなしでボタンクリックを読み取るにはどうすればよいでしょうか。

テキストボックスとウィンドウのタイトルをバインドして、テキストボックス内のテキストが変更されると変更されるようにすることはできますが、テキストボックスの内容を取得できません。本の中の何かを見落としている可能性はありますが、少なくともボタンのイベントハンドラーなしでこれがどのように可能であるかはわかりません。

4

3 に答える 3

2

もう1つの方法は、ボタンをコマンドにバインドすることです。これが、イベントを真に置き換えるものです。

 <Button Command="{Binding ViewModel.YourCommand}"

 <Button Command="{Binding ViewModel.Cmd}" CommandParameter="{Binding ViewModel.CmdParam}"/>

ViewModelでは、すべてのロジックを実行します。コマンドをYourView.xaml.csに配置することもできますが、それはMVVMの設計によって異なります(つまり、その機能がViewModelに属していないように感じる場合)

于 2012-04-15T14:23:17.603 に答える
1

データグリッドは、ソースデータとテキストボックスの2つにマルチバインドできます。コンバーターでは、テキストボックスのコンテンツを分析し、表示するデータの適切な部分を選択できます。

于 2012-04-15T11:48:36.373 に答える
0

イベントの使用が許可されておらず、インターフェイスでボタンを使用する必要がある場合は、コマンドを使用することをお勧めします。

実際には、WPFのリリース以降、コマンドはイベントよりも対話に適したソリューションです。私は主にMVVMを使用して開発しているので、最後にボタンイベントをフックしたときのことを思い出せません。

また、ボタンをインタラクションにリンクする他のすべての方法は、汚いハックになります。

多分それはあなたのコースへの少しの前進です、しかしそれでもそれは読む価値があります:http: //msdn.microsoft.com/en-gb/magazine/cc785480.aspx

于 2012-04-15T15:01:01.650 に答える