在Windows Phone 8中访问其他页面的功能

时间:2014-12-06 19:40:16

标签: c# windows-phone-8

基本上我的应用程序中有一个页面,其中有一个异步功能,通过蓝牙接收数据。我想根据我在另一页上通过蓝牙接收的数据在我的主页上执行功能。我搜索了一下,大多数人建议创建一个基类并继承同一个类的两个页面,但这不是我想要做的:我不想执行一个通用的主页面函数的实例,我想执行属于我的应用程序正在显示的主页面的特定主页面功能。

我想到了两个可能的解决方案:

  1. 根据接收的数据更新主页面类中的静态变量,并在每次变量更改值时使用属性执行所需的函数,但问题是我想要执行的函数是非静态的。
  2. 如果我可以知道我的应用实例化的主要页面类的对象名称,我可以简单地将这些函数设置为public并使用 MainPageObjectName.myFunction()之类的语法访问它们,但我没有&# 39;知道我的应用程序从MainPage类实例化的对象的名称。
  3. 有什么建议吗?提前谢谢。

1 个答案:

答案 0 :(得分:0)

阿里,我在这里假设你需要在一些后台(异步)任务完成时更新MainPage.xaml的内容。

最好的方法是在应用程序中使用DataModel(MVVM)。更多信息herehere

通过在异步任务完成时执行此操作,将调用函数来更新保存数据的DataStructure。由于该模型实现了INotifyPropertyChanged类,因此UI上的控件(即使它们位于另一页面上)将自动更新。