2016-02-01 65 views
4

我目前正在開發一個Windows 10 UWP應用程序。在升級到Windows 10之前,我在Windows 8.1中使用了SettingsFlyout類。現在我紅色的計算器上,這個類不被Windows 10支持。在Windows 10 UWP開發中是否有Windows 8.1 SettingsFlyout的替代方案?

那麼,在Windows 10 UWP中具有相同或相似處理的彈出窗口是否有很好的選擇?

+0

另一種方法是使用'SplitView'代替。 – Herdo

+0

所以我現在發現只有SettingsPane在我的解決方案中不起作用。彈出窗口正在工作。如果我像以前一樣使用它,並且它不受Microsoft的官方支持,那麼在Windows應用商店中發佈應用程序是否存在問題? –

回答

1

如果你想更換設置彈出按鈕然後有一些可能的方式
1.設置和導航添加SettingsPage.xaml頁從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)); 
    } 

但是在這種情況下最好添加Back按鈕。
在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> 
相關問題