【发布时间】:2016-10-02 14:49:22
【问题描述】:
有人可以为我说明如何设置这样的逻辑:
我有一个 WPF 控件。当一个按钮被按下时,它会做两种可能的事情之一。
A.它检查是否已加载不同的 WPF 窗口。如果是,它会触发该窗口的 Print 方法。 B. 它检查是否已加载不同的 WPF 窗口。如果不是,它会实例化那个窗口,然后触发它的 Print 方法。
我很难理解两个 WPF 控件/Windows 之间的事件系统。这对我来说是一个相对较新的东西,所以如果有人带我完成这个,我将不胜感激。
附言。这不是家庭作业,而是我的新爱好。如果这完全是一个菜鸟问题,那么只需将我指向一个资源,这样我就可以自学了。
干杯!
【问题讨论】:
-
你的问题太宽泛了。您需要提供一个很好的minimal reproducible example 来清楚地说明您的情况。我会指出,您似乎错误地看待问题。也就是说,打印命令应该属于知道如何打印的视图模型,并且您不必导航事件系统来调用视图模型上的命令来打印。 WPF 中的 UI 和事件路由可供用户与视图交互,而视图又与视图模型交互。除了与用户交互直接相关的功能外,视图本身不应实现功能。
-
如何为您的案例使用观察者 - 订阅者设计模式。我认为这将是一个很好的解决方案