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