C# 检测外壳弹出按钮是否打开

C# 检测外壳弹出按钮是否打开,c#,xamarin,xamarin.forms,xamarin.forms.shell,C#,Xamarin,Xamarin.forms,Xamarin.forms.shell,有没有办法处理开放式弹出按钮? 我试图在打开弹出按钮期间或之后添加自定义行为 我可以;我找不到像这样的财产 Shell.OnFlyoutOpening=“flyout\u opening”由于没有也不会有类似于OnFlyoutOpenedOnFlyoutClosed的事件,您可以监听ShellPropertyChanged事件,如果该属性已更改,则执行代码: public AppShell() { InitializeComponent(); PropertyChanged +=

有没有办法处理开放式弹出按钮? 我试图在打开弹出按钮期间或之后添加自定义行为

我可以;我找不到像这样的财产
Shell.OnFlyoutOpening=“flyout\u opening”

由于没有也不会有类似于
OnFlyoutOpened
OnFlyoutClosed
的事件,您可以监听Shell
PropertyChanged
事件,如果该属性已更改,则执行代码:

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指南。

如果它确实回答了您的问题,请。