从不同的视图修改 HamburgerButtonVisibility 属性

Modify HamburgerButtonVisibility property from different views

我正在为我的通用应用程序和 MVVM 使用出色的 Template10..
我想要做的是从不同的视图隐藏和显示 Shell.xaml 文件中声明的汉堡包按钮。理想的解决方案是..如果我什么都不说,则显示汉堡包按钮,否则,隐藏汉堡包按钮..
假设我有 MainPage,当我单击列表中的一个项目时,我导航到 DetailsPage,在构造函数中我发送一条消息或设置 属性 以通知 ShellView 隐藏 Hamburger 按钮。 这样做的最佳做法是什么?
Messenger 可能是一种可能性,恕我直言,但我不确定这是最好的解决方案..

我认为 Messenger 很适合这里,从其他视图触发它以更新按钮。

如果您使用的是 Template10,那么在 Shell.xaml.cs 中您应该有:

  public static Shell Instance { get; set; }

        public static HamburgerMenu HamburgerMenu { get { return Instance.MyHamburgerMenu; } }

        public Shell()
        {
            Instance = this;
            this.InitializeComponent();
        }    

这将允许您从应用程序的任何位置访问 shell 实例,并使用代码:

var h = Shell.HamburgerMenu;
  h.HamburgerButtonVisibility = MyVisibilityParam;

你可以访问HamburgerButton的可见性,这里的MyVisibilityparam可以是Visibility.Collapsed或者Visibility.Visible