调整大小时保持UWP SplitView打开

时间:2015-10-26 19:02:50

标签: c# xaml uwp

我刚试过Windows Universal Apps SplitView。我认识到,当应用程序窗口调整大小时,StackPanel会关闭。它似乎是默认行为,但StackPanel在Mail,Calender或Groove Music等Windows应用程序中保持打开状态。

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

<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>

enter image description here

1 个答案:

答案 0 :(得分:1)

如果您将DisplayMode更改为Inline,它将保持打开状态。然后,您可以使用视觉状态和自适应触发器在窗口调整大小时打开/关闭它。

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

请注意,Inline表示它会推送内容而不是覆盖。