我在 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\...
答案 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
。