2011-10-09 55 views
0

我有一個PivotMainPage.xaml;我怎麼能從另一個班級打電話給我?WP7如何從類中調用樞軸?

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

由於編譯器告訴你的原因,你不能這麼做。 MainPage不是靜態類,當您查看該頁面時正在顯示該類的實例,因此您需要操作該實例。你可以做的是將對類的引用傳遞給其他類。然後有MainPage包含其他類的實例。

MainPage.xaml.cs中

public partial class MainPage : PhoneApplicationPage 
{ 
    private MyClass _myClass; 

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

    } 
} 

現在,MyClass將有機會獲得Pivot(和的MainPage所有其他元素)。顯示的MainPage

如果任何邏輯的其他類使用到項目添加到Pivot不可用,即你需要顯示一些其他頁面時添加的內容,您需要創建一個靜態列表(比如PivotItemsList )在App類。讓其他班級將項目添加到此列表中,而不是直接添加到Pivot。然後,您可以在MainPage構造函數中以App.PivotItemsList的形式訪問它,並將項目添加到Pivot