Windows Phone 7 - 从Class访问MainPage UI控件

时间:2011-06-20 13:26:56

标签: c# silverlight windows-phone-7 dispatcher

我需要从另一个类访问MainPage.xaml.cs的控件。我该如何访问它?

1 个答案:

答案 0 :(得分:0)

问题是为什么?根据您的架构,有几种方法:

你可以做的第一件事就是让你的MainPage单身。这是有道理的,因为你实际上也只有一个主页,但我不喜欢单身,它会使你的组件耦合,你的设计变得难以进行单元测试。

或者,您可以将MainPage的界面传递到您的班级。如果您只通过界面,那么您就有机会进行单元测试而不会有太多麻烦。像这样:

public interface IMainView
{
   void MethodOnMainPage();
}

public class MainPage : IMainView
{
}

public class MyClass 
{
   private IMainView _view;

   public MyClass(IMainView view)
   {
      _view = view;
   }

   private void SomeEventHappened() 
   {
      _view.MethodOnMainPage();
   }
}