WP7如何从类中调用Pivot?

时间:2011-10-09 16:47:23

标签: windows-phone-7

我在 MainPage.xaml上有Pivot ;我怎么能从另一个班级打电话呢?

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 个答案:

答案 0 :(得分:1)

由于编译器告诉你的原因,你不能完全这样做。 MainPage 不是静态类,当您查看页面正在显示该类的实例时,您需要操作该实例。您可以做的是将对 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