0

このようなことを達成するためにMVVMライトを使用しようとしています。次のシナリオがあります。

私のモデルでは、ActivityName、Image などのプロパティを設定しました。name と image などの 2 つのパラメーターを受け入れるクラス コンストラクターがあります。

私は DataAccess です。データベース接続を設定し、DB からデータをフェッチする必要なメソッドを実装しました。List に格納し、リストを ViewModel に返します。

ViewModel では、DataAccess で定義した GetActivities() メソッドを呼び出してリストを返すリスト プロパティを作成しました。

今私の問題は、ボタンをクリックすると画像付きのアクティビティのリストが表示されるように、ビューにバインドする方法がわからないことです。いくつかのボタンをクリックすると、新しいウィンドウが開き、目的の結果が表示されます。上記のリストをバインドし、MVVM ライトを使用してボタン機能を実装する方法。

助けてください?

ありがとう

4

2 に答える 2

2
  • まず、List の代わりに ObservableCollection を使用します。これは、プロパティまたはコレクションが変更されたときにビューに通知するためです。
  • 次に、ビューの DataContext をビューモデルに設定します。MVVMLight ビュー クラスを使用すると、DataContext が自動的に設定されます。そこでViewModel名を指定するだけです。
  • 次に、DataGrid の ItemsSource を次のように設定します<dg:DataGrid ItemsSource="{Binding YourListInViewModel}"/>
  • クリック イベントを処理するには、イベントからコマンドへの動作を使用して、ボタンの対応するコマンド ハンドラーにロジックを記述できます。
于 2010-07-01T07:14:43.073 に答える
0

コントロールの DataContext にバインドする

于 2010-07-01T05:20:40.033 に答える