Xamarin.forms 带有按钮的自定义选项卡页

Xamarin.forms 带有按钮的自定义选项卡页,xamarin.forms,toolbar,tabbedpage,Xamarin.forms,Toolbar,Tabbedpage,我需要使用“TabbedPage”创建一个导航,并添加2个按钮(图标)以在我的应用程序中执行其他操作,类似于下图: 在一次测试中,我得出了下面的结果,但我不知道如何保持标签与图标处于同一水平。 MainPage.xaml 您可以使用我在此处创建的选项卡控件: 可以在此处找到解释该组件的帖子: 它是通过网格实现的,因此您可以通过以下方式完全实现您的设计: <Grid> <Grid.RowDefinitions> <RowDefiniti

我需要使用“TabbedPage”创建一个导航,并添加2个按钮(图标)以在我的应用程序中执行其他操作,类似于下图:

在一次测试中,我得出了下面的结果,但我不知道如何保持标签与图标处于同一水平。

MainPage.xaml


您可以使用我在此处创建的选项卡控件:

可以在此处找到解释该组件的帖子:

它是通过网格实现的,因此您可以通过以下方式完全实现您的设计:

<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="50 />
        <RowDefinition Height="*" />
    </Grid.RowDefinitions>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="*" />
        <ColumnDefinition Width="50" />
        <ColumnDefinition Width="50" />
    </Grid.ColumnDefinitions>


    <tabs:TabHostView Grid.Row="0"
                      Grid.Column="0"
                      SelectedIndex="{Binding Source={x:Reference Switcher}, Path=SelectedIndex, Mode=TwoWay}">
        <tabs:BottomTabItem 
            IconImageSource="flash.png" 
            SelectedTabColor="{StaticResource White}" 
            UnselectedLabelColor="{StaticResource White}" 
            UnselectedIconColor="{StaticResource White}"
            Label="Tab 1" />
        <tabs:BottomTabItem 
            IconImageSource="flash.png" 
            SelectedTabColor="{StaticResource White}" 
            UnselectedLabelColor="{StaticResource White}" 
            UnselectedIconColor="{StaticResource White}"
            Label="Tab 2" />
    </tabs:TabHostView>
    <ImageButton Grid.Column="1" ImageSource="hamburger.png" />
    <ImageButton Grid.Column="2" ImageSource="icon.png" />

    <ScrollView Grid.Row="1" Grid.ColumnSpan="3">
        <tabs:ViewSwitcher x:Name="Switcher"
                           Animate="True"
                           SelectedIndex="{Binding SelectedViewModelIndex, Mode=TwoWay}">
            <details:Tab1View Animate="True" BindingContext="{Binding Tab1ViewModel}" />
            <details:Tab2View Animate="True" BindingContext="{Binding Tab2ViewModel}" />
        </tabs:ViewSwitcher>
    </ScrollView>

</Grid>


您希望使用这两个按钮执行哪些操作?与tab1和tab2的操作相同?如果没有,我认为在使用TabbedPage时,不能将选项卡与图标保持在同一级别。ToolbarItem已添加到导航栏上。@JackHua MSFT由于应用程序的设计,我需要保留这种布局,因此我需要将这些选项卡和两个按钮保持在一起,这些按钮调用外部api来执行一些应用程序操作。好的,我想您需要使用该设计创建自定义选项卡页。谢谢,我正在测试是否可以使用此解决方案调整我的应用程序,一旦完成,我会给出反馈。是否有UWP支持计划?
<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="50 />
        <RowDefinition Height="*" />
    </Grid.RowDefinitions>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="*" />
        <ColumnDefinition Width="50" />
        <ColumnDefinition Width="50" />
    </Grid.ColumnDefinitions>


    <tabs:TabHostView Grid.Row="0"
                      Grid.Column="0"
                      SelectedIndex="{Binding Source={x:Reference Switcher}, Path=SelectedIndex, Mode=TwoWay}">
        <tabs:BottomTabItem 
            IconImageSource="flash.png" 
            SelectedTabColor="{StaticResource White}" 
            UnselectedLabelColor="{StaticResource White}" 
            UnselectedIconColor="{StaticResource White}"
            Label="Tab 1" />
        <tabs:BottomTabItem 
            IconImageSource="flash.png" 
            SelectedTabColor="{StaticResource White}" 
            UnselectedLabelColor="{StaticResource White}" 
            UnselectedIconColor="{StaticResource White}"
            Label="Tab 2" />
    </tabs:TabHostView>
    <ImageButton Grid.Column="1" ImageSource="hamburger.png" />
    <ImageButton Grid.Column="2" ImageSource="icon.png" />

    <ScrollView Grid.Row="1" Grid.ColumnSpan="3">
        <tabs:ViewSwitcher x:Name="Switcher"
                           Animate="True"
                           SelectedIndex="{Binding SelectedViewModelIndex, Mode=TwoWay}">
            <details:Tab1View Animate="True" BindingContext="{Binding Tab1ViewModel}" />
            <details:Tab2View Animate="True" BindingContext="{Binding Tab2ViewModel}" />
        </tabs:ViewSwitcher>
    </ScrollView>

</Grid>