c# – 在Windows 10 UWP开发中是否有Windows 8.1 SettingsFlyout
发布时间:2020-12-15 22:26:25 所属栏目:百科 来源:网络整理
导读:我目前正在开发 Windows 10 UWP应用程序.在我升级到Windows 10之前,我在Windows 8.1中使用了SettingsFlyout类.现在我在stackoverflow上重新启动,Windows 10不支持此类. 那么Windows 10 UWP中的弹出窗口是否有一个很好的替代方案,它具有相同或类似的处理方式
我目前正在开发
Windows 10 UWP应用程序.在我升级到Windows 10之前,我在Windows 8.1中使用了SettingsFlyout类.现在我在stackoverflow上重新启动,Windows 10不支持此类.
那么Windows 10 UWP中的弹出窗口是否有一个很好的替代方案,它具有相同或类似的处理方式? 解决方法
如果您想要替换设置弹出窗口,那么有一些可能的方法
1.使用AppBar中的设置和导航添加SettingsPage.xaml页面: <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按钮. 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 3.将设置移至ContentDialog 4.如果没有太多设置,可以将它们置于Flyout控件中 <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> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |