如何激活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();
}
}
答案 0 :(得分:1)
无法在当前版本中重新激活窗口。但好消息是Catel中的所有内容都是可插拔/可替换的,因此您可以轻松提供支持此功能的自己的版本。
或者您也可以在Catel中创建PR并支持此功能; - )