所以我一直在尝试在我自己的类之外的我的PageCreator类中使用我的列表,这个类叫做MainCPage,这个页面仍然在同一个包中。每当我在公共MainCPage方法中输入 PageCreator。时,它会显示 PageCreator.pages ,但在我需要它时似乎无法使用它!这是我的两个类的代码:
PageCreator.cs
public static List<ContentPage> pages = new List<ContentPage> (0);
private string[] subjects = { "Welkom", "Bedrijfsgegevens", "Doelen", "Sales Funnel", "Sales Kit" };
public PageCreator ()
{
StartPage ();
BedrijfsGegevens ();
}
public void StartPage() {
pages.Add (new ContentPage { Content = new StackLayout {
BackgroundColor = "Black",
Opacity = "0.75",
Children = {
new Label {
Text = subjects [0],
FontSize = "40",
HorizontalOptions = "Center",
VerticalOptions = "Start" },
new Label {
Text = "Het Commerciele Huis uit Aalten (Achterhoek) is een instituut op het gebied van optimalisatie van commercie en communicatie. " +
"Wij werken met passie aan uw resultaat.",
FontSize = "26",
WidthRequest = "300",
HorizontalOptions = "Center",
VerticalOptions = "Center"
}
}
}
});
MainCPage.cs
public class MainCPage
{
public MainCPage ()
{
PageCreator ();
MainCPage = new CarouselPage {
Children = {
/*this is where I want to add the pages from the list
But it PageCreator.pages doesn't show up*/
}
};
}
}
有人可以告诉我这里我做错了什么吗? 提前谢谢!
答案 0 :(得分:1)
不幸的是,这不会奏效。您为Children使用的初始化程序语法等同于Children.Add(page)
。 Add
不接受网页集。相反,您必须在那里列出每个页面。
我还注意到IntelliSense并不总是在初始化程序内部工作。我正在运行Xamarin Studio 6.0并且它正在运行,因此我认为它已在Alpha通道中修复。
答案 1 :(得分:0)
知道了! 当我试图在儿童中输入PageCreator时,智能感知无效。以下代码应该而且必须有效:
MainPage = new CarouselPage {
Children = { PageCreator.pages [0],
PageCreator.pages [1]
}
};