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