2015-10-26 2 views
1

Я только что экспериментировал с Windows Universal Apps SplitView. Я узнал, что StackPanel закрывается при изменении размера окна приложения. По-видимому, это поведение по умолчанию, однако StackPanel остается открытым в приложениях Windows, таких как Mail, Calender или Groove Music.Держите UWP SplitView открытым при изменении размера

Кто-нибудь знает, как заставить 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

+0

Что такое StackPanel? Не уверен, что вы говорите об амиго. –

+0

@ChrisW. Я добавил код, отрезанный. – Daveman

+0

Мне нужно посмотреть позже, чтобы увидеть, не могу ли я представить, о чем вы говорите, «закрывается, когда окна приложения меняются», но это не то, что исправлено с заменой IsPaneOpen на True, не так ли? –

ответ

1

Если вы измените DisplayMode на Inline он будет оставаться открытым. Затем вы можете использовать визуальные состояния и адаптивные триггеры, чтобы открывать/закрывать его при изменении размера окна.

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

Обратите внимание, что Inline означает, что он выталкивает содержимое вместо наложения.

+0

Черт, вы правы! XBox-приложение - хороший пример ... – Daveman