我有2个应用程序,比如app1& APP2 我将app2托管到app1。 我有1个工具栏,在app1上托管了app1视图和状态栏。 现在我在工具栏按钮上绑定命令,这些命令在app1视图中实现。 现在app1想知道是否执行了操作,所以app2需要通知app1执行此操作并更新状态栏, 但是如何使用命令返回bool值? 图解释场景
答案 0 :(得分:3)
您可以使用anonymous pipe或named pipe 对于本地执行,建议使用 匿名管道 ,其中 命名管道 允许在计算机中进行跨计算机通信网络
您的执行顺序应如下所示:
请注意:
答案 1 :(得分:2)
一种可能的解决方案是定义一个具有Result
属性的参数类,该属性将在执行代码中设置,然后在调用代码中检索,非常类似于事件的完成(之后)所有命令主要用作WPF UI设计中事件的替代方案。)
答案 2 :(得分:1)
我不确定这是否适合你。这是我在code project找到的东西。这个想法是你有一种icommand,它有一个额外的属性和一个事件。这个额外的属性是您的返回类型。在运行功能之前,请在命令中将侦听器附加到新事件,以便在功能完成后,您可以做出相应的响应。
另一个想法是做像prism或MVVMLight那样的事情。它们具有在系统周围传递事件的机制。 MVVMLight称他们为Event Aggregator。
我过去曾使用过这两种方法。事件聚合器在我看来很不错,因为它可以轻松解决其他通信问题。小心不要过多使用它。它当然可以成为一个拐杖。