私はちょうどXamarinのフォームから始めて、thisの例に従っています。しかし、ランドスケープモードでは、常にナビゲーション用の引き出しが開かれています。このデフォルトの動作ですか?以下は、私はナビゲーションドロワーの開閉を制御する方法を私のコードXamarinのフォームを閉じるナビゲーションドロワー
public class NavigationDrawer : MasterDetailPage // Navigation Drawer using MasterDetailPage
{
public override bool ShouldShowToolbarButton()
{
return true;
}
ContentPage gotoPage;
public NavigationDrawer()
{
Title = "Navigation Drawer Using MasterDetailPage";
string[] myPageNames = { "Camera2 Demo", "Second", "Third" };
SizeChanged += NavigationDrawer_SizeChanged;
ListView listView = new ListView
{
ItemsSource = myPageNames,
};
this.Master = new ContentPage
{
Title = "Options",
Content = listView,
Icon = "hamburger.png"
};
listView.ItemTapped += (sender, e) =>
{
switch (e.Item.ToString())
{
case "Camera2 Demo":
gotoPage = new CameraPage();
break;
case "Second":
gotoPage = new SecondPage();
break;
case "Third":
gotoPage = new ThirdPage();
break;
default:
gotoPage = new NavigationPage1();
break;
}
Detail = new NavigationPage(gotoPage);
((ListView)sender).SelectedItem = null;
this.IsPresented = true;
};
Detail = new NavigationPage(new HomePage());
IsPresented = false;
//// For Windows Phone, provide a way to get back to the master page.
//if (Device.OS == TargetPlatform.WinPhone)
//{
// (this.Detail as ContentPage).Content.GestureRecognizers.Add(
// new TapGestureRecognizer((view) =>
// {
// this.IsPresented = true;
// }));
//}
}
質問
1)でしょうか?ナビゲーション・ドロワーの幅を制御できる方法を見つけました。 Hereはリンクです。しかし、これは現在利用可能な最良のオプションですか?
1)プロジェクトはクロスプラフォームである必要があるため、Xamarinフォームコントロールがオプションの1つと考えられます。
2)Xamarinフォームコントロールではなく、カスタムコントロールを使用する必要がありますか?
私はXamarinで始まったばかりです。サンプルコードは、誰かが私をこのように導くことができれば分かります。