WP7 как вызвать Pivot из класса? - PullRequest
0 голосов
/ 09 октября 2011

У меня есть Pivot на MainPage.xaml ; как я могу позвонить из другого класса?

MainPage.mypivot.Items.Add(p);


Error 2 An object reference is required for the non-static field, method, 
or property '...MainPage.mypivot'   H:\Users\Lacroix\documents\...

1 Ответ

1 голос
/ 09 октября 2011

Вы не можете сделать это именно по той причине, по которой вам говорит компилятор. MainPage не является статическим классом, при просмотре страницы отображается экземпляр класса, поэтому вам нужно манипулировать этим экземпляром.Что вы можете сделать, это передать ссылку на класс MainPage другому классу.Затем MainPage содержит экземпляр другого класса.

In MainPage.xaml.cs

public partial class MainPage : PhoneApplicationPage
{
  private MyClass _myClass;

  MainPage()
  {
    _myClass = new MyClass( this );

  }
}

Теперь MyClass будетиметь доступ к Pivot (и всем остальным элементам MainPage ).

Если какая-либо логика, используемая другим классом для добавления элементов в Pivot, недоступна при отображении MainPage , т.е. вам нужно добавлять элементы при отображении какой-то другой страницы, вам нужно создать статический список (скажем, PivotItemsList) в классе App.Пусть другой класс добавит элементы в этот список, а не прямо в Pivot.Затем вы можете получить к нему доступ в конструкторе MainPage как App.PivotItemsList и добавить элементы в Pivot.

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