c# - 从不同 View 修改HamburgerButtonVisibility属性

标签 c# mvvm winrt-xaml win-universal-app template10

我正在为我的通用应用程序和 MVVM 使用出色的 Template10..
我想做的是从不同的 View 隐藏和显示 Shell.xaml 文件中声明的汉堡包按钮。理想的解决方案是这样的..如果我什么也不说,则显示汉堡包按钮,否则,隐藏汉堡包按钮..
假设我有 MainPage,当我单击列表中的某个项目时,我导航到 DetailsPage,在构造函数中我发送一条消息或设置一个属性,通知 ShellView 隐藏汉堡按钮。 这样做的最佳实践是什么?
恕我直言,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.CollapsedVisibility.Visible

关于c# - 从不同 View 修改HamburgerButtonVisibility属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35876917/

相关文章:

c# - 正则表达式拆分包含标记的文本

c# - 如何获取元素的绝对位置?

c# - 如何在WPF中对GridViewColumns进行分组,以便扩展器填充整个宽度

c# - WinRT - UI 虚拟化加载图像异步阻塞 UI 线程

c# - 如何捕获 system.xml.xml 异常

c# - 在 SQL 查询或 UI 代码中计算金额(数量 * 价格)

c# - WPF 绑定(bind)未正确更新

wpf - WPF工具包折线图中y轴点之间的阴影区域

c# - 返回第一页后第二页不刷新数据

c# - 我们可以将 Nullable<DateTime> 用作 Metro 风格应用程序的 XAML 中的 DependencyProperty