Элементы главной страницы WP7 Access - PullRequest
1 голос
/ 08 апреля 2011

Я пытаюсь сделать простое приложение для Windows Phone 7 Silverlight.Есть MainPage.xaml с некоторыми элементами пользовательского интерфейса и отдельный класс C # MyClass.cs с некоторым кодом.

Моя проблема в : MyClass не может получить доступ к чему-либо, содержащемуся в MainPage (то есть он не знает, что существуют элементы пользовательского интерфейса или методы C #).

Если я пытаюсь унаследовать MainPage, приложение компилируется, но отказывается работать:

public class MyClass : MainPage
{
   // No good
}

Если я попробую это решение , то получу ошибку InvalidCastException:

public class MyClass
{
  // Also no good
  MainPage m = (MainPage)Application.Current.RootVisual;
}

У меня вопрос : как я могу получить доступ к MainPage из отдельногоучебный класс?

В MainPage.xaml.cs я могу просто использовать myElement.Property и т. Д. Однако в MyClass это невозможно, но я не уверен почему.

Я думаю, что есть простой ответ, который я упускаю, но я действительно не уверен, что это такое (... C # новичок пытается бежать, прежде чем он сможет ходить!?).

Заранее спасибо за любой совет, который вы можете предложить.

1 Ответ

2 голосов
/ 08 апреля 2011

Ответ заключается в том, что вы не должны этого делать, так как этот уровень связи, скорее всего, вызовет проблемы в будущем с точки зрения повторного использования и, в частности, тестирования.

Вы можете посмотреть на наличие отдельной модели глобального вида, которая имеет необходимую информацию (свойства) и связана с моделью представления основного вида.

Если вам нужен ваш класс для вызова методов в представлении, вы можете взглянуть на систему обмена сообщениями или подобное.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...