我刚试过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>
答案 0 :(得分:1)
如果您将DisplayMode
更改为Inline
,它将保持打开状态。然后,您可以使用视觉状态和自适应触发器在窗口调整大小时打开/关闭它。
<SplitView x:Name="MySplitView"
...
DisplayMode="Inline">
请注意,Inline
表示它会推送内容而不是覆盖。