让对象发送消息到主页

本文关键字:主页 消息 对象 | 更新日期: 2023-09-27 17:51:20

我有一个类Target和一个静态属性,在另一个类中,称为points。每次玩家击中一个目标,我都想增加积分。我把points放在不同的静态类中的原因是,每个Target对象都可以访问它。问题是显示这些点的文本块存在于MainPage中,而不在每个Target对象中。既然我不能将XAML绑定到静态属性,那么我如何才能使每个Target对象以某种方式让MainPage知道它应该更新points文本块呢?谢谢你的建议

让对象发送消息到主页

您完全可以在这里应用MVVM模式。如果有一个静态ViewModel被绑定到主窗口,那么你可以在每次属性更改时引发一个通知,并且Views(所有显示数据的绑定窗口)将自动更新(重新绑定)。

我建议检查Laurent Bugnion的MVVM Light框架。它为你做了很多管道,所以你需要做的就是把零件放在一起,正确地把它们绑在一起。

一些值得检查的资源:

  • WPF应用程序Model-View-ViewModel设计模式(仍然适用于Silverlight作为一种方法论)
  • Model-View-ViewModel在Silverlight2应用

如果您需要示例,请查看此处

是class Target和AnotherClass。相同名称空间中的点?如果是这样,可能有以下帮助:

/* In Window class */
Window w = new Window();
/* function where Target get hit */
w = this;
/* code to update points */
w.textbox1.Text = AnotherClass.points.ToString();