有对象发送消息给MainPage

时间:2011-04-22 00:22:49

标签: c# silverlight events data-binding static

我有一个类Target和一个静态属性,在另一个类中,名为points。每次用户点击目标时,我都想增加点数。我将points放在不同的静态类中的原因是每个Target对象都可以访问它。 问题是显示点的文本块存在于MainPage中而不存在于每个Target对象中。由于我无法将我的XAML绑定到静态属性,我怎样才能使每个Target对象以某种方式让MainPage知道它应该更新点文本块?谢谢你的建议

2 个答案:

答案 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();