如何在Catel.MVVM中激活现有视图?

时间:2015-12-04 03:08:32

标签: wpf mvvm catel

如何激活Catel中的现有视图? IUIVisualizerService.Show()始终创建新视图。我目前在ViewModel中使用以下代码,因为它依赖于Window而不是很好。

private void ShowSomethingExecute() {
  var uiVisualizerService =  this.GetDependencyResolver().Resolve<IUIVisualizerService>();
  var viewManager = this.GetServiceLocator().ResolveType<IViewManager>();

  var testView = viewManager.GetFirstOrDefaultInstance(typeof(TestView));
  if (testView == null) {
    uiVisualizerService.Show(new TestViewModel());
  } else {
    (testView as Window)?.Activate();
  }
}

1 个答案:

答案 0 :(得分:1)

无法在当前版本中重新激活窗口。但好消息是Catel中的所有内容都是可插拔/可替换的,因此您可以轻松提供支持此功能的自己的版本。

或者您也可以在Catel中创建PR并支持此功能; - )