使用 Xamarin Forms - 如何将按钮点击连接到滑动手势?

Using Xamarin Forms - how can I hook up a button click to a swipe gesture?

我有一个使用主详细信息页面和导航页面的应用程序。在 Android 上,当您通过汉堡菜单导航到帐户页面时,导航栏会按预期停留在屏幕顶部,因此您可以使用它进行导航。在 iOS 上,导航栏消失了,所以我创建了一个带有汉堡菜单图标的自定义栏。当有人单击自定义导航栏上的图标时,我希望汉堡菜单从左侧滑出。

我已将手势识别器附加到汉堡图标,但我不知道在调用的方法中放入什么以使其执行滑动动作。

第二页的导航栏:

<StackLayout IsVisible="{Binding _isiPhone}" Orientation="Horizontal" BackgroundColor="#008334">
    <Image Source="burger.png" HorizontalOptions="StartAndExpand">
       <Image.GestureRecognizers>
          <TapGestureRecognizer Tapped="Burger_Clicked"></TapGestureRecognizer>
       </Image.GestureRecognizers>
    </Image>
</StackLayout>

事件处理器:

private void Burger_Clicked(object sender, EventArgs e)
{
}

android 视图:

android 汉堡菜单视图:

iOS 视图(带有自定义导航栏):

iOS 汉堡菜单:

您可以将MasterDetail页面上的"IsPresented" 属性设置为True/False来使侧边菜单显示/隐藏。 请重新考虑是否真的需要自定义栏,因为标准控件应该是用户习惯的东西。

另请注意,建议母版页使用内容页,详细页可以根据需要使用NavigationPage/TabPage/ContentPage。

有关详细信息,请参阅 official docs