【发布时间】:2011-06-02 23:22:51
【问题描述】:
我在视图模型中使用命令来处理事件。例如,我正在处理这样的按钮单击事件:
XAML
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<i:InvokeCommandAction Command="{Binding mvvmButtonclick}" />
</i:EventTrigger>
</i:Interaction.Triggers>
视图模型代码
public ICommand mvvmButtonclick
{
get;
private set;
}
用于连接命令的 Viewmodel 构造函数代码
this.mvvmButtonclick = new ActionCommand(this.ButtonClickedEvent);
在按钮点击时调用的视图模型中的实际方法
private void ButtonClickedEvent()
{
MessageBox.Show("worked!!!");
}
这行得通。所以我的问题是:
- 这是正确的方法吗?
- 有没有一种方法可以将 (object sender, RoutedEventArgs e) 参数传播到我的视图模型中,我是否应该关心它是否不存在?
- 假设这是一个列表框选择更改事件而不是按钮单击。没有object sender,SelectionChangedEventArgs e参数如何获取选中项的值?
【问题讨论】:
标签: silverlight mvvm silverlight-4.0 event-handling icommand