Xamarin 表单 - 选项卡式视图?

Ili*_*lov 3 xamarin xamarin.forms xamarin.forms.labs

我需要创建一个弹出窗口,其中会有一些选项卡,每个选项卡都包含一个列表视图。我知道有一个 TabbedPage,但我需要一个“TabbedView”以便我可以使用 Xlabs PopupLayout 构建我的弹出窗口。如何在 Xamarin Forms 中执行此操作?

cha*_*ier 5

请看一下TabView插件。

我在过去的项目中遇到了类似的问题,并决定从我的实现中创建一个插件。

我还在此处包含了一个使用 TabView 的示例项目,请查看。

该插件也可在 NuGet 中使用。在包管理控制台中输入以下命令以在您的项目中安装最新版本的插件:

PM> Install-Package Xam.Plugin.TabView
Run Code Online (Sandbox Code Playgroud)

由于 TabView 继承自 ContentView,因此您可以像使用 Xamarin 中的任何其他视图一样使用它。下面是一个例子:

var tabView = new TabViewControl(new List<TabItem>()
{
    new TabItem(
        "Tab 1",
        new Image{
            Source = ImageSource.FromUri(new Uri("https://assets-cdn.github.com/images/modules/logos_page/Octocat.png")),
            Aspect = Aspect.AspectFit,
            BackgroundColor = Color.LightBlue
        }),
    new TabItem(
        "Tab 2",
        new StackLayout()
        {
            Children =
            {
                new Label(){
                    FontSize = 18,
                    Text = "This is a label control.",
                    TextColor = Color.Green,
                }
            },
            BackgroundColor = Color.LightGray,
            Padding = 10
        }),
    new TabItem(
        "Tab 3",
        new StackLayout()
        {
            Children =
            {
                new ListView(){
                    ItemsSource = new string[] { "Item 1", "Item 2", "Item 3", "Item 4", "Item 5", "Item 6" }
                }
            },
            BackgroundColor = Color.LightSalmon,
            Padding = 10
        })
});
tabView.VerticalOptions = LayoutOptions.StartAndExpand;
this.Content = tabView;
Run Code Online (Sandbox Code Playgroud)