检测 Shell 弹出窗口是否打开

Wik*_*ska 4 c# xamarin xamarin.forms xamarin.forms.shell

有什么办法可以处理打开 Flyout 的情况吗?我正在尝试在打开期间或打开弹出窗口后添加自定义行为。

我找不到任何类型的财产,例如 Shell.OnFlyoutOpening="flyout_opening"

Cfu*_*fun 6

由于没有也不会发生此类事件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();
}
Run Code Online (Sandbox Code Playgroud)

根据您的要求,您将定义OnFlyoutOpened()方法OnFlyoutClosed()

感谢@PureWeen 在讨论中的指导。