【发布时间】:2016-01-24 17:59:41
【问题描述】:
这是一个 WPF 问题。我的解决方案中有两个项目,比如 ProjectA 和 ProjectB,其中 ProjectB 引用 ProjectA。在 ProjectA App.cs 类中,我声明了一个属性 PropA(公共和静态)。我的问题是:如何从 ProjectB 中的 XAML 绑定到 PropA?
显然
{Binding PropA,Source={x:Static Application.Current}}
不起作用,我无法解决这个问题。任何帮助将不胜感激!
更新
为了澄清任何混淆,这里有一些细节。 ProjectA 包含需要更新 App 级别集合的 ViewModel 类。我的问题是从 ProjectB 的窗口绑定到 XAML 中的集合。我最终通过将集合移动到 ProjectB App 类并从 ProjectA 中的 ViewModel 触发事件来解决这个问题。然后,在窗口的代码隐藏中(我将 ViewModel 的一个实例设置为数据上下文),我只需订阅事件并采取相应的行动。 MVVM 纯粹主义者现在可能会变绿,但一点代码隐藏永远不会受到伤害!
【问题讨论】:
-
好的,您引用了 ProjectA,但您是否创建了 ProjectA.App 的实例?绑定需要源对象。
-
是的,实例创建得很好。
-
如果你已经创建了一个实例,你只需要在你的绑定中引用那个实例。看我的回答。
-
您是否尝试在两个应用程序之间共享实际绑定的数据?