2012-04-15 10 views
0

編集:私は割り当てを誤って読んでいます....イベントハンドラは、私たちが先に作業したくないので、表示するコントロールにデータセットをバインドするだけです。イベントハンドラを持たないWpf

wpfの宿題に小さな問題があります。私たちはそれぞれの仕事のプログラムを構築しています。今は拘束力があります。ユーザーはテキストボックスにデータを入力し、2つのデータセットを2つのデータグリッドに表示します。現時点では、表示されているものはデータベースから取り出すのではなく、ハードコードされています。データを表示することができ、テキストボックス入力に基づいて正しいデータを表示することができますが、イベントハンドラは使用できません。では、ボタンのクリックはイベントハンドラなしでどのように読むことができますか?

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

+0

どのボタンにコマンドを追加する方法について? –

+0

テキストボックスがバインドされている場合は、プロパティから値を取得するだけです。何をするはずのボタンは何ですか? – Paparazzi

答えて

0

イベントの使用が許可されていない場合あなたのインターフェイスでボタンを使う必要があるなら、コマンドは確かに行く方法です。

実際には、コマンドは、WPFのリリース以降、イベントに対する対話のために推奨されるソリューションです。 MVVMを使用して開発しているので、ボタンイベントを最後に覚えたのは覚えていません。

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

多分それはあなたのコースの中へ一歩前進のビットですが、それでもそれは価値読み:http://msdn.microsoft.com/en-gb/magazine/cc785480.aspx

+0

来週はコマンドに入る。 –

1

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

+0

しかし、それは必要なボタンを無用にしますね。私はボタンをクリックする必要がありますが、私はイベントハンドラを使用することはできません。 –

+0

はい。ボタンは割り当ての一部ですか?多分あなたはそれなしですることができますか? – Vlad

+0

はい、ボタンがUIに必要です。イベントハンドラは、前提条件のC#クラスで学んだものの、まだカバーされていないので使用できません。コマンドもまだカバーされていません。私はそれをやる方法を見ない。 –

2

もう一つの方法は、それは本当にあなたがすべてのロジックを行い、ViewModelににイベント

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

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

ザ・に取って代わるものだ、コマンドにボタンをバインドすることです。 YourView.xaml.csにコマンドを入れることはできますが、それはMVVMの設計に依存します(つまり、その機能がViewModelに属さないように感じる場合)

+0

彼は具体的にはこれを行うことはできないとは具体的には言いませんでしたが、イベントハンドラを使用できない理由は、データバインディング以上のものに集中することを望まないからです。まだ起動していません。それは、私たちがプロジェクトを完了させないようにする試みのように思えます。そして、その週の進捗状況を見るときに必要でないものを削除します。私は来週、これを使って遊びます。 –

+0

コマンドは、ViewModelとView間の疎結合を可能にするそのようなイベントを置き換えるためのものです。 –

+0

来週に入る。 –

関連する問題