2016-02-01 15 views
4

В настоящее время я разрабатываю приложение UWP для Windows 10. До того, как я обновился до Windows 10, я использовал класс SettingsFlyout в Windows 8.1. Теперь я краснею в stackoverflow, что этот класс не поддерживается Windows 10.Есть ли альтернатива Windows 8.1 SettingsFlyout в разработке Windows 10 UWP?

Так есть ли хорошая альтернатива для всплывающего окна в Windows 10 UWP, который имеет такую ​​же или аналогичную обработку?

+0

Альтернатива была бы использовать 'SplitView' вместо. – Herdo

+0

Итак, я узнал, что в моем решении не работает только SettingsPane. Всплывающее окно теперь работает. Если я использую его, как раньше, и официально не поддерживается Microsoft, есть ли проблемы с публикацией приложения в Windows Store? –

ответ

1

Если вы хотите, чтобы заменить настройки выпадающими то есть некоторые возможные пути
1. SettingsPage.xaml страница Add с параметрами и навигацией от AppBar:

<Page.TopAppBar> 
    <CommandBar IsOpen="False" ClosedDisplayMode="Minimal"> 
     <CommandBar.PrimaryCommands> 
<AppBarButton x:Name="btnSettings" Label="Settings" Click="btnSettings_Click" Icon="Setting" > 
      </AppBarButton> 
     </CommandBar.PrimaryCommands> 
    </CommandBar> 
</Page.TopAppBar> 

И понимают, нажмите событие:

private void btnSettings_Click(object sender, RoutedEventArgs e) 
    { 
     this.Frame.Navigate(typeof(SettingsPage)); 
    } 

Но в этом случае лучше добавить кнопку «Назад».
В конце OnLaunched события добавить:

rootFrame.Navigated += OnNavigated; 
SystemNavigationManager.GetForCurrentView().BackRequested += OnBackRequested; 

И добавить:

private void OnNavigated(object sender, NavigationEventArgs e) 
    { 
SystemNavigationManager.GetForCurrentView().AppViewBackButtonVisibility = 
     ((Frame)sender).CanGoBack ? AppViewBackButtonVisibility.Visible : AppViewBackButtonVisibility.Collapsed; 
    } 

    private void OnBackRequested(object sender, BackRequestedEventArgs e) 
    { 
     Frame rootFrame = Window.Current.Content as Frame; 

     if (rootFrame.CanGoBack) 
     { 
      e.Handled = true; 
      rootFrame.GoBack(); 
     } 
    } 

2. добавить также XAML страницу с настройками, но использовать навигацию с управлением SplitView и создание меню гамбургер

Windows 10 SplitView – Build Your First Hamburger Menu
Implementing a Simple Hamburger Navigation Menu

3. Настройки Переместить в ContentDialog

4. Если у вас нет много настроек вы можете поместить их в выпадающее управление

<Button Content="Settings"> 
<Button.Flyout> 
<MenuFlyout> 
<ToggleMenuFlyoutItem Text="Toggle Setting" /> 
<MenuFlyoutSeparator /> 
<MenuFlyoutItem Text="Setting 1" /> 
<MenuFlyoutItem Text="Setting 2" /> 
<MenuFlyoutItem Text="Setting 3" /> 
</MenuFlyout> 
</Button.Flyout> 
</Button> 

 Смежные вопросы

  • Нет связанных вопросов^_^