列表与LT;>使用mvvm灯绑定和按钮单击

时间:2010-07-01 03:39:19

标签: wpf data-binding mvvm mvvm-light

我正在尝试使用MVVM灯来实现这样的功能。我有以下情况:

在我的模型中 - 我设置了像ActivityName,Image这样的属性,并且有一个类构造函数,它接受2个参数,如name和image。

我的DataAccess - 我已经设置了数据库连接并实现了从DB获取数据所需的方法,我将其存储在List中并将列表返回给ViewModel。

在我的ViewModel中 - 我创建了list属性,它将通过调用我在DataAccess中定义的GetActivities()方法返回列表。

现在我的问题是我没有得到如何在视图中绑定它,以便通过单击按钮它将显示带有图像的活动列表。通过单击某个按钮,将打开一个带有所需结果的新窗口。如何绑定上面的列表并使用MVVM灯实现按钮功能。

请帮助?

由于

2 个答案:

答案 0 :(得分:2)

  • 首先,使用ObservableCollection而不是List,因为它会在属性或集合发生更改时通知视图。
  • 然后将视图的DataContext设置为viewmodel。如果使用MVVMLight View Class,则会自动设置DataContext。你只需要在那里提供ViewModel名称。
  • 然后像这样<dg:DataGrid ItemsSource="{Binding YourListInViewModel}"/>
  • 设置DataGrid的ItemsSource
  • 要处理click事件,您可以使用Event-To-Command行为,并在Button的相应Command处理程序中编写逻辑。

答案 1 :(得分:0)

绑定到控件的DataContext