在调整大小时保持 UWP SplitView 打开

Keep UWP SplitView open on resize

我刚刚试用了 Windows Universal Apps SplitView。我发现当应用程序 window 调整大小时,StackPanel 会关闭。这似乎是默认行为,但 StackPanel 在 Windows 邮件、日历或 Groove 音乐等应用程序中保持打开状态。

有谁知道如何强制 StackPanel 在 window 调整大小时保持打开状态?

<SplitView x:Name="SplitView" OpenPaneLength="240" CompactPaneLength="48" IsPaneOpen="False" PaneBackground="White" Content="{Binding}" Foreground="#FF910000" DisplayMode="CompactOverlay">
    <SplitView.Background>
        <ImageBrush Stretch="UniformToFill" ImageSource="Assets/technology-music-sound-audio2.jpg"/>
    </SplitView.Background>
    <SplitView.Pane>
        <StackPanel x:Name="SplitViewPanePanel" Background="#FFF5F5F5">
            <RadioButton x:Name="HamburgerRadioButton" Style="{StaticResource NavRadioButtonStyle}" Tag="" GroupName="Hamburger" Click="HamburgerRadioButton_Click"/>
            <RadioButton x:Name="BackRadioButton" Style="{StaticResource NavRadioButtonStyle}" Tag="" Background="#FFE6E6E6" Content="Back" GroupName="Back"/>
            <RadioButton x:Name="HomeRadioButton" Style="{StaticResource NavRadioButtonStyle}" Tag="" Content="Home" GroupName="Navigation"/>
            <RadioButton x:Name="FriendsRadioButton" Style="{StaticResource NavRadioButtonStyle}" Tag="" Content="Friends" GroupName="Navigation"/>
        </StackPanel>
    </SplitView.Pane>
</SplitView>

如果您将 DisplayMode 更改为 Inline,它将保持打开状态。然后,您可以使用视觉状态和自适应触发器 open/close 它作为 window 调整大小。

<SplitView x:Name="MySplitView"
           ...
           DisplayMode="Inline">

请注意,Inline表示它推送内容而不是叠加。