首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Xamarin ContentPage.ToolbarItems移到页面底部

Xamarin ContentPage.ToolbarItems移到页面底部
EN

Stack Overflow用户
提问于 2019-03-11 17:01:23
回答 2查看 894关注 0票数 2

下面是我的代码,我想要做的是将工具栏移动到网格之后的页面底部

代码语言:javascript
复制
<ContentPage.ToolbarItems>
    <ToolbarItem Icon="heart.png" Command="{Binding GotoWishlistCommand}"/>
    <ToolbarItem Icon="shoppingcart.png"
                 Command="{Binding GotoCartCommand}"/>
</ContentPage.ToolbarItems>
<ContentPage.Resources>
    <ResourceDictionary>
        <converter:SelectedToColorConverter x:Key="cnvInvert"/>
    </ResourceDictionary>
</ContentPage.Resources>
EN

回答 2

Stack Overflow用户

发布于 2019-03-12 17:24:37

不幸的是,默认情况下,ToolbarItem被设计在页面顶部。

如果想把ToolbarItem移动到页面的底部,这可以通过自定义的view.You来完成,它可以创建一个StackLayout,并且它包含了像ToolbarItem这样的按钮在it.In的基础上添加,StackLayout可以设置在GridLayout下面.Then这看起来像是页面底部的一个ToolbarItem

示例代码如下:

代码语言:javascript
复制
<StackLayout>
        <Grid>
            <Grid.RowDefinitions>
                <RowDefinition Height="20" />
                <RowDefinition Height="20" />
            </Grid.RowDefinitions>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="*" />
                <ColumnDefinition Width="*" />
            </Grid.ColumnDefinitions>
            <Label Text="Top Left" Grid.Row="0" Grid.Column="0" />
            <Label Text="Top Right" Grid.Row="0" Grid.Column="1" />
            <Label Text="Bottom Left" Grid.Row="1" Grid.Column="0" />
            <Label Text="Bottom Right" Grid.Row="1" Grid.Column="1" />
        </Grid>

        <StackLayout BackgroundColor="BlueViolet" x:Name="CustomToolBarItem" Orientation="Horizontal" HorizontalOptions="EndAndExpand" WidthRequest="1000">
            <ImageButton Source="heart.png" Command="{Binding GotoWishlistCommand}" HorizontalOptions="End" VerticalOptions="Center"/>
            <ImageButton Source="shoppingcart.png" Command="{Binding GotoCartCommand}" HorizontalOptions="End" VerticalOptions="Center"/>
        </StackLayout>
</StackLayout>

票数 1
EN

Stack Overflow用户

发布于 2019-03-12 17:40:27

如果你想把android放在最下面,就加上TabbedPage this这一行。对于iOS,这是默认设置。

代码语言:javascript
复制
xmlns:android="clr-namespace:Xamarin.Forms.PlatformConfiguration.AndroidSpecific;assembly=Xamarin.Forms.Core"
android:TabbedPage.ToolbarPlacement="Bottom"

最后,您的页面将如下所示:

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8" ?>
<TabbedPage
  x:Class="SampleApp.MainPage"
  xmlns="http://xamarin.com/schemas/2014/forms"
  xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
  xmlns:android="clr-namespace:Xamarin.Forms.PlatformConfiguration.AndroidSpecific;assembly=Xamarin.Forms.Core"
  xmlns:views="clr-namespace:SampleApp"
  android:TabbedPage.ToolbarPlacement="Bottom">
  <TabbedPage.Children>
    <NavigationPage
      Title="Browse"
      BackgroundColor="White"
      Icon="tab_feed.png">
      <x:Arguments>
        <views:ItemsPage />
      </x:Arguments>
    </NavigationPage>
    <NavigationPage
      Title="About"
      BackgroundColor="White"
      Icon="tab_about.png">
      <x:Arguments>
        <views:AboutPage />
      </x:Arguments>
    </NavigationPage>
  </TabbedPage.Children>
</TabbedPage>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55098301

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档