处理整个内容页面中的某个元素

时间:2017-11-02 10:22:59

标签: xamarin.forms

在我完成向下滑动菜单(包含按钮的stacklayout)后点击我的Pcl我试图隐藏此菜单当用户从我的菜单中点击页面的任何部分 我使用TapGestureRecongnizer并将其添加到内容中,但它不适用于其他子元素

        TapGestureRecognizer ContentGesture = new TapGestureRecognizer();
        ContentGesture.Tapped +=(s,o)=>{

            if (CornerFrame.IsVisible == true)
            { CornerFrame.IsVisible = false; }

                };
        this.Content.GestureRecognizers.Add(ContentGesture);

1 个答案:

答案 0 :(得分:1)

试试这个

堆栈布局页面中的代码

public event EventHandler<bool> ItemChanged;
TapGestureRecognizer ContentGesture = new TapGestureRecognizer();
        ContentGesture.Tapped +=(s,o)=>{

           ItemChanged?.Invoke(this, true);

                };
        this.Content.GestureRecognizers.Add(ContentGesture);

在主页中的代码中,您可以在页面

中添加CornerFrame
CornerFrame.ItemChanged += (object sender, bool arg) =>
{
     if (CornerFrame.IsVisible == true)
            { CornerFrame.IsVisible = false; }
};