Cinch版本的ViewModel命令用于关闭View

时间:2010-10-20 04:02:41

标签: wpf mvvm binding cinch

不想过多地讨论sacha,有没有人知道Cinch V2从ViewModel命令关闭View的方式是什么?

以前我在ViewModel基础中使用了一个RelayCommand来接受Escape keybinding命令操作,并在后面的View代码中连接了一个RequestClose事件来执行此操作。

1 个答案:

答案 0 :(得分:1)

在execute方法中使用CloseActivePopUpCommand.Execute(true)来关闭视图。

我在下面提供了一个简短的示例。

[ExportViewModel("PickOperatorViewModel")]
[PartCreationPolicy(CreationPolicy.NonShared)]
public class PickOperatorViewModel : ViewModelBase
{
  [ImportingConstructor]
  public PickOperatorViewModel()
  {
    PickOperaterCommand = new SimpleCommand<Object, Object>(CanExecutePickOperaterCommand, ExecutePickOperaterCommand);
  }

  public SimpleCommand<Object, Object> PickOperaterCommand { get; private set; }
  private void ExecutePickOperaterCommand(Object args)
  {
    CloseActivePopUpCommand.Execute(true);
  }

  private bool CanExecutePickOperaterCommand(Object args)
  {
    return true;
  }
}