【发布时间】:2015-08-06 07:35:31
【问题描述】:
我正在使用 Caliburn.Micro 开发一个应用程序。我需要同时在多台显示器上打开一组相同的窗口,但我不知道如何干净利落地做到这一点。
我的想法是这样的:
-
ChildViewModel/ChildView包含我需要在多个屏幕上显示的内容。 -
ParentViewModel继承自ConductorBase<ChildViewModel>。 - 在创建
ParentViewModel时,它会创建所需数量的ChildViewModel,并使用WindowManager.ShowWindow来显示它们。 - 我的
WindowManager实现负责将这些视图放置在它们应该在的位置。
上述所有工作,除了一个例外:ParentView 显示在它自己的窗口中。我怎样才能避免这种情况发生?做我想做的事情的规范方式是什么?
我想要做的是从单个导体引导多个窗口,而不是导体本身显示窗口。
【问题讨论】:
-
你要做什么来打开这个窗口?单击一个按钮,启动您的应用程序?
-
单击通知区域上下文菜单中的菜单项。它不应该是相关的。
-
在这次点击中,您正在提出命令,对吗?所以你可以在这个命令中“打开”这个窗口。我不知道 Caliburn 是如何处理这个问题的,但是这个命令将是我尝试的位置
-
我打开窗户没问题。如果您阅读该问题,您会发现问题在于它需要 ParentView 同时可见。
-
我看过但可能没抓住重点。为什么需要 ParentViewModel/ParentView?它有什么作用?
标签: c# wpf caliburn.micro