我正在为我的通用应用程序和 MVVM 使用出色的 Template10。我
要做的是从不同的视图隐藏和显示在 Shell.xaml 文件中声明的汉堡包按钮。理想的解决方案是......如果我什么都不说,则显示汉堡按钮,否则隐藏汉堡按钮。
假设我有 MainPage,当我单击列表中的一个项目时,我导航到DetailsPage,在构造函数中,我发送一条消息或设置一个属性,让 ShellView 隐藏汉堡按钮。这样做的最佳做法是什么?
Messenger 可能是恕我直言,但我不确定这是最好的解决方案..
问问题
127 次
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.Collapsed
或Visibility.Visible
于 2016-03-15T20:17:07.030 回答
1
我认为 Messenger 很适合这里,从其他视图中触发它以更新按钮。
于 2016-03-09T09:10:03.323 回答