2

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

4

2 回答 2

4

如果你使用的是 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.CollapsedVisibility.Visible

于 2016-03-15T20:17:07.030 回答
1

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

于 2016-03-09T09:10:03.323 回答