繁体   English   中英

C#/ UWP选择按钮后隐藏NavigationView

[英]C#/UWP Hide NavigationView after button selection

目前,我遇到一个问题,即在导航后单击AppBarButton不会最小化NavView。 与NavView_SelectionChanged void不同,后者会在选择NavigationViewItem后自动最小化NavView。 我不确定更新内容框架后如何隐藏NavView。

这是MainPage.xaml.cs

public sealed partial class MainPage : Page
    {

        public MainPage()
        {
            this.InitializeComponent();

            string appName = Windows.ApplicationModel.Package.Current.DisplayName;
        }

        private void NavView_SelectionChanged(Windows.UI.Xaml.Controls.NavigationView sender, Windows.UI.Xaml.Controls.NavigationViewSelectionChangedEventArgs args)
        {
            NavigationViewItem item = args.SelectedItem as NavigationViewItem;

            switch (item.Tag.ToString())
            {
                case "OverView_Page":
                    ContentFrame.Navigate(typeof(Content_Pages.Overview_Page));
                    break;
                case "Bills_Page":
                    ContentFrame.Navigate(typeof(Content_Pages.Bills_Page));
                    break;
                case "BillPayer_Page":
                    ContentFrame.Navigate(typeof(Content_Pages.BillPayer_Page));
                    break;
                case "Transfers_Page":
                    ContentFrame.Navigate(typeof(Content_Pages.Transfers_Page));
                    break;
                case "PayDates_Page":
                    ContentFrame.Navigate(typeof(Content_Pages.PayDates_Page));
                    break;               
            }
        }
       private void SettingsButton_Click(object sender, RoutedEventArgs e)
        {
            ContentFrame.Navigate(typeof(Content_Pages.SettingsPage));
        }
    }

和MainPage.XAML AppBarButtons:

<mux:NavigationView.MenuItems>
                <StackPanel Orientation="Horizontal" UseLayoutRounding="False">
                    <AppBarButton Icon="Setting" Margin="1, 2, 0, 0" Tag="Settings_Page" HorizontalAlignment="Center" Width="56.5" Height="56.5" ClickMode="Press" Click="SettingsButton_Click"/> 
                </StackPanel>

所有这些都已正确关闭,因此它们只是相关的位。 请原谅我对此知识不足,仍在学习

首先,我建议您在新的winui库中使用最新版本的NavigationViewhttps : //docs.microsoft.com/zh-cn/windows/uwp/design/controls-and-patterns/navigationview

从上面的文档中释放零件

可以通过PaneDisplayMode属性将NavigationView设置为不同的显示模式:对于您的方案,可以在以下值之间切换: LeftLeftCompact

每当用户单击应用程序栏按钮时,都会调用它的clicked事件,在该事件中,您可以将PaneDisplayMode属性设置为所需的值,并且通过这种方式,您可以控制何时显示NavigationView隐藏器或您想要执行的所有操作,基本上,您可以做很多事情使用此更新版本的控件,请阅读上面的docs链接,以获取更多详细文档。 希望这可以帮助。

SettingsButton_Click ContentFrame.Navigate调用之后添加以下行:

NavView.IsPanelOpen = false;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM