微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – 在Windows 10 UWP开发中是否有Windows 8.1 SettingsFlyout的替代方案?

我目前正在开发 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按钮.
在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.如果没有太多设置,可以将它们置于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>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐