如何从App类访问MainPage类的非静态成员?

本文关键字:静态成员 MainPage 访问 App | 更新日期: 2023-09-27 17:53:55

根据MSDN文档https://msdn.microsoft.com/en-us/library/windows/apps/hh394038(v=vs.105).aspx,我在空白的Windows Phone 8.1 Silverlight应用程序中添加了一个应用程序栏。我已经在应用程序栏中的每个按钮中添加了封装在App类中的事件处理程序。我需要一种从App类访问MainPage类的当前实例的方法,这样我就可以在MainPage类中调用非静态方法来更新UI。我已经狂饮了几个小时了,但还没有找到解决办法。我遇到了这个答案https://stackoverflow.com/a/13314364/3998051但是它回答的问题和我的问题正好相反。遗憾的是,解决方案并非如此。请你帮忙好吗?

如何从App类访问MainPage类的非静态成员?

我会使用响应式扩展(RX)来解决这个问题。

你可以使用NuGet在你的项目中添加响应式扩展(RX),搜索rx-main并安装Reactive Extensions - Main Library

您的两个页面都将访问具有Subject<T>的公共类。一个页面将使用OnNext向该Subject<T>发布事件,另一个页面将使用Subscribe订阅这些事件。

有关完整的工作示例,请参见Rx如何从pub/sub模式创建序列。