【问题标题】:Can We add content Above tabbed page in xamarin forms?我们可以在 xamarin 表单中的标签页上方添加内容吗?
【发布时间】:2018-01-02 02:51:28
【问题描述】:

我想在 xamarin 表单的标签页上方添加一些标签和图像,所以当我滑动到另一个标签页时,标签页上方的内容将保持不变这里是设计

我能做到这一点,因为我找不到任何参考吗?

【问题讨论】:

  • 标签页通常用作内容的根容器。做你想做的可能需要一个自定义控件
  • 我可以阅读任何参考资料吗?谢谢

标签: c# xaml xamarin.forms


【解决方案1】:

如果要在标签页上方添加标签,则不能在标签页上方添加标签,您必须创建自己的标签页。

您可以根据您的选择创建显示/隐藏的布局创建选项卡设计和点击手势到选项卡并管理布局的显示/隐藏

演示代码 Xaml 文件

<!--Tab Design-->
<StackLayout Orientation="Horizontal">
 <Grid HorizontalOptions="FillAndExpand"
          VerticalOptions="FillAndExpand"
          ColumnSpacing="0"
          RowSpacing="0"
          Padding="0">

        <Grid.RowDefinitions>
            <RowDefinition Height="Auto" />
        </Grid.RowDefinitions>

        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="1*" />
            <ColumnDefinition Width="1*" />
        </Grid.ColumnDefinitions>

        <!--Details Tab-->

        <StackLayout Grid.Row="0"
                     Grid.Column="0"
                     Padding="7.5"
                     VerticalOptions="FillAndExpand">
           <Button Clicked="Tab1Clicked" Text="Tab1">

        </StackLayout>

        <!-- Tab 2 -->
        <StackLayout Grid.Row="0"
                     Grid.Column="2"
                     Padding="7.5"
                     VerticalOptions="FillAndExpand">
            <Button Clicked="Tab2Clicked" Text="Tab2">
        </StackLayout>
    </Grid>
</StackLayout>

    <!-- tab 1 container -->
    <StackLayout x:Name="stkTab1">
    </StackLayout>

    <!-- tab 2 container -->
    <StackLayout x:Name="stkTab2" IsVisible="false">
    </StackLayout>


演示代码 cs 文件

private void Tab1Clicked(object sender, EventArgs e)
{
    stkTab1.IsVisible=true;
    stkTab2.IsVisible=false;
}

private void Tab2Clicked(object sender, EventArgs e)
{
    stkTab1.IsVisible=false;
    stkTab2.IsVisible=true;
}

【讨论】:

  • 那看起来很复杂,有没有图书馆或 nuget 呢?或者文档对我很有帮助,谢谢
  • 到目前为止,我还没有找到任何用于选项卡的 nuget。我在我的项目中为此创建了自己的视图。
  • @TheodorusAgumGumilang 我用示例代码更新了我的答案你可以试试这个你必须保持 StackLayout 的可见性确保一次只有一个容器 StackLayout 可见
【解决方案2】:

其中一种方法是创建一个控件模板,在任何布局中添加顶部部分,然后在内容呈现器中插入标签页。

https://developer.xamarin.com/guides/xamarin-forms/application-fundamentals/templates/control-templates/creating/

【讨论】:

  • 你如何使用标签页来做到这一点? controltemplate 属性似乎不适用于标签页,而是内容页
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-13
  • 2012-04-11
  • 1970-01-01
  • 2022-01-17
相关资源
最近更新 更多