我有一个类Target
和一个静态属性,在另一个类中,名为points
。每次用户点击目标时,我都想增加点数。我将points
放在不同的静态类中的原因是每个Target
对象都可以访问它。
问题是显示点的文本块存在于MainPage中而不存在于每个Target对象中。由于我无法将我的XAML绑定到静态属性,我怎样才能使每个Target对象以某种方式让MainPage知道它应该更新点文本块?谢谢你的建议
答案 0 :(得分:1)
你可以在这里完全应用MVVM模式。如果存在绑定到主窗口的静态 ViewModel ,则每次属性更改时都可以发出通知,视图(显示数据的所有关联窗口) )将自动更新(重新绑定)。
我建议检查一下Laurent Bugnion的MVVM Light框架。它为你做了很多这样的管道工作,所以你需要做的就是将这些部件放在一起并正确绑定它们。
一些值得检查您的情况的资源:
如果您需要样品,请查看here。
答案 1 :(得分:0)
Class Target和AnotherClass.points是否在同一名称空间内?如果是这样,可能有以下帮助:
/* In Window class */
Window w = new Window();
/* function where Target get hit */
w = this;
/* code to update points */
w.textbox1.Text = AnotherClass.points.ToString();