Xamarin - 如何在其类之外使用列表
Posted
技术标签:
【中文标题】Xamarin - 如何在其类之外使用列表【英文标题】:Xamarin - How do I use a list in outside its class 【发布时间】:2016-03-29 12:38:23 【问题描述】:所以我一直在尝试在自己的类之外使用我的 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*/
;
谁能告诉我我在这里做错了什么? 提前致谢!
【问题讨论】:
【参考方案1】:很遗憾,这行不通。您用于 Children 的初始化程序语法等同于 Children.Add(page)
。 Add
不接受页面集合。相反,您必须列出其中的每一页。
我还注意到 IntelliSense 并不总是在该初始化程序中工作。我正在运行 Xamarin Studio 6.0,它正在运行,所以我认为它已在 Alpha 通道中修复。
【讨论】:
感谢您的提示,确实是智能感知没有发挥作用。谢谢大佬!【参考方案2】:知道了! 当我尝试在 Children 中键入 PageCreator 时,IntelliSense 不起作用。以下代码应该并且必须有效:
MainPage = new CarouselPage
Children = PageCreator.pages [0],
PageCreator.pages [1]
;
【讨论】:
以上是关于Xamarin - 如何在其类之外使用列表的主要内容,如果未能解决你的问题,请参考以下文章
如何使用包含在其类依赖注入中的 .net 5 类库的 dll?