我是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