当"分割视图"窗格打开时,处理其他页面的位置

本文关键字:quot 其他 处理 位置 视图 分割 | 更新日期: 2023-09-27 18:00:55

我正在尝试在我的应用程序中实现splitview。但是当ii设置IsPaneOpen=true时;我的枢轴并没有移动到拆分视图窗格的右侧。Insted SplitView窗格在数据透视项目上打开。请有人帮我解决这个问题。提前谢谢。

我的主页:

        <Page
            x:Class="SplitView.MainPage"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            xmlns:local="using:SplitView"
            xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
            xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
            mc:Ignorable="d">
            <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
                <RelativePanel x:Name="myrelativepanel">
                    <Pivot x:Name="mypivot" RelativePanel.AlignRightWith="spv">
                        <PivotItem x:Name="header1" Header="Header1">
                            <ListBox x:Name="listView"
                                    HorizontalAlignment="Left" 
                                    Height="Auto" 
                                    VerticalAlignment="Top" 
                                    Width="172"
                                    ItemsSource="{x:Bind itemsList}"
                                    />
                        </PivotItem>
                        <PivotItem x:Name="header2" Header="Header2">
                            <ListBox x:Name="listView1"
                                    HorizontalAlignment="Left" 
                                    Height="Auto" 
                                    VerticalAlignment="Top" 
                                    Width="172"
                                    ItemsSource="{x:Bind itemsList}"
                                    />
                        </PivotItem>
                    </Pivot>
                    <local:SplitViewPage x:Name="spv"></local:SplitViewPage>
                </RelativePanel>
            </Grid>
        </Page>

我的SplivView页面:

    <Page
        x:Class="SplitView.SplitViewPage"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:local="using:SplitView"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        mc:Ignorable="d">
        <SplitView x:Name="MySplitView" DisplayMode="CompactOverlay"  IsPaneOpen="False" 
                   CompactPaneLength="50" OpenPaneLength="150">
            <SplitView.Pane>
                <StackPanel Background="Gray">
                    <Button x:Name="HamburgerButton" FontFamily="Segoe MDL2 Assets" Content="&#xE700;"
                        Width="50" Height="50" Background="Transparent" Click="HamburgerButton_Click"/>
                    <StackPanel Orientation="Horizontal">
                        <Button x:Name="MenuButton1" FontFamily="Segoe MDL2 Assets" Content="&#xE825;"
                        Width="50" Height="50" Background="Transparent"/>
                        <TextBlock Text="Button 1" FontSize="18" VerticalAlignment="Center" />
                    </StackPanel>
                    <StackPanel Orientation="Horizontal">
                        <Button x:Name="MenuButton2" FontFamily="Segoe MDL2 Assets" Content="&#xE10F;"
                            Width="50" Height="50" Background="Transparent"/>
                        <TextBlock Text="Button 2" FontSize="18" VerticalAlignment="Center" />
                    </StackPanel>
                    <StackPanel Orientation="Horizontal">
                        <Button x:Name="MenuButton3" FontFamily="Segoe MDL2 Assets" Content="&#xE1D6;"
                            Width="50" Height="50" Background="Transparent"/>
                        <TextBlock Text="Button 3" FontSize="18" VerticalAlignment="Center" />
                    </StackPanel>
                </StackPanel>
            </SplitView.Pane>
            <SplitView.Content>
                <Grid>
                    <TextBlock Text="SplitView Basic" FontSize="54" Foreground="White"
                               HorizontalAlignment="Center" VerticalAlignment="Center"/>
                </Grid>
            </SplitView.Content>
        </SplitView>
    </Page>

当"分割视图"窗格打开时,处理其他页面的位置

在分割视图中使用显示模式CompactInline,而不是CompactOverlay。

DisplayMode="CompactInline"