1
我有3個按鈕WPF的形式,並傳送他們的活動,命令在開始綁定...WPF路由事件發射?
private void InitCommandBinding(UIElement frameworkElement) {
CommandBinding commandBinding;
commandBinding = new CommandBinding(ViewModelCommands.Save, Save_Executed, Save_CanExecute);
frameworkElement.CommandBindings.Add(commandBinding);
commandBinding = new CommandBinding(ViewModelCommands.SaveAndClose, SaveAndClose_Executed, SaveAndClose_CanExecute);
frameworkElement.CommandBindings.Add(commandBinding);
commandBinding = new CommandBinding(ViewModelCommands.Delete, Delete_Executed, Delete_CanExecute);
frameworkElement.CommandBindings.Add(commandBinding);
}
the details ui has code like
private void Delete_Executed(object sender, ExecutedRoutedEventArgs e) {
try
{do validations }
}
private void Delete_CanExecute(object sender, CanExecuteRoutedEventArgs e) {
e.CanExecute = viewModel.IsValid(); (returns bool)
}
有效性啓用和禁用按鈕等
的形式有一個實例對象的新的或舊的和驗證可以發生在數據
我的問題是,該事件只是EXCUTE所有的時間和形式只是掛起原因驗證代碼並調查數據庫等檢查....
如何我只是讓他們在表單加載時觸發一次嗯......
謝謝領先,我猜CanExute激發了很多,我有驗證代碼,比如檢查db等代碼是否存在輪詢數據庫。驗證框架服務處理,但UI級別問題出現... – abmv 2009-10-25 14:59:55
Spot - 回答。 CanExecute需要快速。檢查數據庫,打網絡服務等在這裏不是一個好主意。只有當用戶準備好提交更改時,才應該檢查數據庫。 – 2009-10-25 15:15:07