检测 Shell Flyout 是不是打开
Posted
技术标签:
【中文标题】检测 Shell Flyout 是不是打开【英文标题】:Detect if Shell Flyout is open检测 Shell Flyout 是否打开 【发布时间】:2020-08-03 11:40:49 【问题描述】:有什么方法可以处理打开 Flyout 吗? 我正在尝试在打开期间或打开 Flyout 之后添加自定义行为。
我找不到任何类型的财产,例如
Shell.OnFlyoutOpening="flyout_opening"
【问题讨论】:
【参考方案1】:由于没有也不会出现OnFlyoutOpened
OnFlyoutClosed
这样的事件,你可以监听你的ShellPropertyChanged
事件,如果属性是FlyoutIsPresented然后执行你的代码:
public AppShell()
InitializeComponent();
PropertyChanged += Shell_PropertyChanged;
private void Shell_PropertyChanged(object sender, PropertyChangedEventArgs e)
if (e.PropertyName.Equals("FlyoutIsPresented"))
if (FlyoutIsPresented)
OnFlyoutOpened();
else
OnFlyoutClosed();
根据您的要求,您将定义 OnFlyoutOpened()
和 OnFlyoutClosed()
方法。
感谢@PureWeen 在discussion 中的指导。
【讨论】:
如果它确实回答了您的问题,请accept✅it。以上是关于检测 Shell Flyout 是不是打开的主要内容,如果未能解决你的问题,请参考以下文章
Xamarin Form Shell:Flyout 和 TabBar - 仅在 TabBar 中隐藏项目?
如何将 App Shell 与每页不同的 Flyout 项目一起使用