1
別のクラスからMainPage.xaml.csのコントロールにアクセスする必要があります。どうすればそれにアクセスできますか?Windows Phone 7 - クラスからのMainPage UIコントロールへのアクセス
別のクラスからMainPage.xaml.csのコントロールにアクセスする必要があります。どうすればそれにアクセスできますか?Windows Phone 7 - クラスからのMainPage UIコントロールへのアクセス
質問はなぜですか?あなたのアーキテクチャに応じて、いくつかのアプローチがあります:
まず、あなたのメインページシングルトンを作ることです。現実にはメインページが1つしかないので意味がありますが、シングルトンは気に入らず、コンポーネントが結合され、単体テストが難しくなります。
また、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();
}
}