私はマスター詳細ページとその中のナビゲーションページを使用しているアプリを持っています。 Androidの場合、バーガーメニューを使用してアカウントページに移動すると、ナビバーは画面上部に表示されたままになり、使用できるようになります。 iOS上ではナビゲーションバーが消えるので、バーガーメニューアイコン付きのカスタムバーを作成しました。誰かがカスタムナビゲーションバーのアイコンをクリックすると、バーガーメニューが左からスワイプします。Xamarinフォームの使用 - ボタンをクリックしてスワイプジェスチャーにするにはどうすればよいですか?
バーガーアイコンにジェスチャ認識子を付けましたが、呼び出されたメソッドにスワイプアクションを実行するために何を入れるべきかわかりません。
2ページのナビゲーションバー:
<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)
{
}
アンドロイドビュー:
アンドロイドバーガーメニュービュー:
(カスタムナビゲーションバー付き)のiOSビュー:
のiOSバーガーメニュー:
ためofficial docsを参照してください。 アカウントページからIsPresentedプロパティにアクセスする方法がわかりません。 – NinjaFocks
Application.Current.MainPageをMasterDetailPageにキャストできます。だから((MasterDetailPage)Application.Current.MainPage).IsPresented = true;スライドアウトの引き出しが表示されます。 もちろん、このコードがトリガーされたときにMasterDetailPageが常にアプリケーションのルートにある場合にのみ、この方法を使用してください。あなたのプロジェクトに合っていて、アプリケーションアーキテクチャで最もクリーンで簡単な解決策であれば、それをテストしたり、別の方法でリファレンスを保存する必要があります。 – irreal