我是SilverLight和Mvvm-Light的新手。我在我的视图上有一个DataForm,用于显示/编辑我的视图模型的SelectedPerson属性(一个Person对象)。如何判断使用EventToCommand时哪个数据形式按钮结束编辑
我想在我的viewmodel上执行一个命令,当用户点击保存按钮但不想采取行动,如果用户点击取消。
添加以下到我的视图模型:
public RelayCommand PersonEditEnded {get; set;}
...
public void Initialize()
{
PersonEditEnded = new RelayCommand(DoSomething);
...
}
public void DoSomething()
{
}
我增加了以下我的看法:
<toolkit:DataForm x:Name="PersonForm" ... CurrentItem="{Binding SelectedPerson, Mode=TwoWay}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="EditEnded">
<gs:EventToCommand Command="{Binding PersonEditEnded, Mode=OneWay}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</toolkit:DataForm>
这工作,当用户按下提交被叫做DoSomething的方法。但是,当用户按下取消时,也会调用DoSomething。有没有办法知道当按下“取消”按钮时按下了哪个按钮或抑制了呼叫?
感谢您提供的任何帮助!
好的,但是,如果您不将DataForms CurrentItem作为CommandParameter传递,那么您如何才能对数据执行操作? – Stimul8d 2011-08-27 11:12:17