diff --git a/XamarinStudy/XamarinStudy/XamarinStudy/App.xaml.cs b/XamarinStudy/XamarinStudy/XamarinStudy/App.xaml.cs
index deca010..19be1a5 100644
--- a/XamarinStudy/XamarinStudy/XamarinStudy/App.xaml.cs
+++ b/XamarinStudy/XamarinStudy/XamarinStudy/App.xaml.cs
@@ -22,7 +22,9 @@ namespace XamarinStudy
//tabbed.Children.Add(new SampleContentPage() { Title = "Page1" });
//tabbed.Children.Add(new SampleToolbarPage() { Title = "Page2" });
//MainPage = tabbed;
- MainPage = new SampleCarouselPage();
+ //MainPage = new SampleCarouselPage();
+ //MainPage = new SampleFlyoutPage();
+ MainPage = new SampleFlyoutPage2();
}
protected override void OnStart()
diff --git a/XamarinStudy/XamarinStudy/XamarinStudy/Views/SampleFlyoutPage.xaml b/XamarinStudy/XamarinStudy/XamarinStudy/Views/SampleFlyoutPage.xaml
new file mode 100644
index 0000000..d032afd
--- /dev/null
+++ b/XamarinStudy/XamarinStudy/XamarinStudy/Views/SampleFlyoutPage.xaml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/XamarinStudy/XamarinStudy/XamarinStudy/Views/SampleFlyoutPage.xaml.cs b/XamarinStudy/XamarinStudy/XamarinStudy/Views/SampleFlyoutPage.xaml.cs
new file mode 100644
index 0000000..a4a0f1d
--- /dev/null
+++ b/XamarinStudy/XamarinStudy/XamarinStudy/Views/SampleFlyoutPage.xaml.cs
@@ -0,0 +1,36 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+using Xamarin.Forms;
+using Xamarin.Forms.Xaml;
+
+namespace XamarinStudy.Views
+{
+ [XamlCompilation(XamlCompilationOptions.Compile)]
+ public partial class SampleFlyoutPage : FlyoutPage
+ {
+ public SampleFlyoutPage()
+ {
+ InitializeComponent();
+ FlyoutPage.ListView.ItemSelected += ListView_ItemSelected;
+ }
+
+ private void ListView_ItemSelected(object sender, SelectedItemChangedEventArgs e)
+ {
+ var item = e.SelectedItem as SampleFlyoutPageFlyoutMenuItem;
+ if (item == null)
+ return;
+
+ var page = (Page)Activator.CreateInstance(item.TargetType);
+ page.Title = item.Title;
+
+ Detail = new NavigationPage(page);
+ IsPresented = false;
+
+ FlyoutPage.ListView.SelectedItem = null;
+ }
+ }
+}
\ No newline at end of file
diff --git a/XamarinStudy/XamarinStudy/XamarinStudy/Views/SampleFlyoutPage2.cs b/XamarinStudy/XamarinStudy/XamarinStudy/Views/SampleFlyoutPage2.cs
new file mode 100644
index 0000000..add3ab0
--- /dev/null
+++ b/XamarinStudy/XamarinStudy/XamarinStudy/Views/SampleFlyoutPage2.cs
@@ -0,0 +1,16 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using Xamarin.Forms;
+
+namespace XamarinStudy.Views
+{
+ internal class SampleFlyoutPage2 : FlyoutPage
+ {
+ public SampleFlyoutPage2()
+ {
+ Flyout = new SampleContentPage() { Title = "FlyOutPage" };
+ Detail = new NavigationPage(new SampleToolbarPage());
+ }
+ }
+}
diff --git a/XamarinStudy/XamarinStudy/XamarinStudy/Views/SampleFlyoutPageDetail.xaml b/XamarinStudy/XamarinStudy/XamarinStudy/Views/SampleFlyoutPageDetail.xaml
new file mode 100644
index 0000000..c9cdaaf
--- /dev/null
+++ b/XamarinStudy/XamarinStudy/XamarinStudy/Views/SampleFlyoutPageDetail.xaml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/XamarinStudy/XamarinStudy/XamarinStudy/Views/SampleFlyoutPageDetail.xaml.cs b/XamarinStudy/XamarinStudy/XamarinStudy/Views/SampleFlyoutPageDetail.xaml.cs
new file mode 100644
index 0000000..eb08ae8
--- /dev/null
+++ b/XamarinStudy/XamarinStudy/XamarinStudy/Views/SampleFlyoutPageDetail.xaml.cs
@@ -0,0 +1,20 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+using Xamarin.Forms;
+using Xamarin.Forms.Xaml;
+
+namespace XamarinStudy.Views
+{
+ [XamlCompilation(XamlCompilationOptions.Compile)]
+ public partial class SampleFlyoutPageDetail : ContentPage
+ {
+ public SampleFlyoutPageDetail()
+ {
+ InitializeComponent();
+ }
+ }
+}
\ No newline at end of file
diff --git a/XamarinStudy/XamarinStudy/XamarinStudy/Views/SampleFlyoutPageFlyout.xaml b/XamarinStudy/XamarinStudy/XamarinStudy/Views/SampleFlyoutPageFlyout.xaml
new file mode 100644
index 0000000..752c73c
--- /dev/null
+++ b/XamarinStudy/XamarinStudy/XamarinStudy/Views/SampleFlyoutPageFlyout.xaml
@@ -0,0 +1,45 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/XamarinStudy/XamarinStudy/XamarinStudy/Views/SampleFlyoutPageFlyout.xaml.cs b/XamarinStudy/XamarinStudy/XamarinStudy/Views/SampleFlyoutPageFlyout.xaml.cs
new file mode 100644
index 0000000..6738a70
--- /dev/null
+++ b/XamarinStudy/XamarinStudy/XamarinStudy/Views/SampleFlyoutPageFlyout.xaml.cs
@@ -0,0 +1,56 @@
+using System;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.ComponentModel;
+using System.Linq;
+using System.Runtime.CompilerServices;
+using System.Text;
+using System.Threading.Tasks;
+
+using Xamarin.Forms;
+using Xamarin.Forms.Xaml;
+
+namespace XamarinStudy.Views
+{
+ [XamlCompilation(XamlCompilationOptions.Compile)]
+ public partial class SampleFlyoutPageFlyout : ContentPage
+ {
+ public ListView ListView;
+
+ public SampleFlyoutPageFlyout()
+ {
+ InitializeComponent();
+
+ BindingContext = new SampleFlyoutPageFlyoutViewModel();
+ ListView = MenuItemsListView;
+ }
+
+ private class SampleFlyoutPageFlyoutViewModel : INotifyPropertyChanged
+ {
+ public ObservableCollection MenuItems { get; set; }
+
+ public SampleFlyoutPageFlyoutViewModel()
+ {
+ MenuItems = new ObservableCollection(new[]
+ {
+ new SampleFlyoutPageFlyoutMenuItem { Id = 0, Title = "Page 1" },
+ new SampleFlyoutPageFlyoutMenuItem { Id = 1, Title = "Page 2" },
+ new SampleFlyoutPageFlyoutMenuItem { Id = 2, Title = "Page 3" },
+ new SampleFlyoutPageFlyoutMenuItem { Id = 3, Title = "Page 4" },
+ new SampleFlyoutPageFlyoutMenuItem { Id = 4, Title = "Page 5" },
+ });
+ }
+
+ #region INotifyPropertyChanged Implementation
+ public event PropertyChangedEventHandler PropertyChanged;
+ void OnPropertyChanged([CallerMemberName] string propertyName = "")
+ {
+ if (PropertyChanged == null)
+ return;
+
+ PropertyChanged.Invoke(this, new PropertyChangedEventArgs(propertyName));
+ }
+ #endregion
+ }
+ }
+}
\ No newline at end of file
diff --git a/XamarinStudy/XamarinStudy/XamarinStudy/Views/SampleFlyoutPageFlyoutMenuItem.cs b/XamarinStudy/XamarinStudy/XamarinStudy/Views/SampleFlyoutPageFlyoutMenuItem.cs
new file mode 100644
index 0000000..9b6c7c9
--- /dev/null
+++ b/XamarinStudy/XamarinStudy/XamarinStudy/Views/SampleFlyoutPageFlyoutMenuItem.cs
@@ -0,0 +1,20 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace XamarinStudy.Views
+{
+ public class SampleFlyoutPageFlyoutMenuItem
+ {
+ public SampleFlyoutPageFlyoutMenuItem()
+ {
+ TargetType = typeof(SampleFlyoutPageFlyoutMenuItem);
+ }
+ public int Id { get; set; }
+ public string Title { get; set; }
+
+ public Type TargetType { get; set; }
+ }
+}
\ No newline at end of file
diff --git a/XamarinStudy/XamarinStudy/XamarinStudy/XamarinStudy.csproj b/XamarinStudy/XamarinStudy/XamarinStudy/XamarinStudy.csproj
index 27538ea..b4cec35 100644
--- a/XamarinStudy/XamarinStudy/XamarinStudy/XamarinStudy.csproj
+++ b/XamarinStudy/XamarinStudy/XamarinStudy/XamarinStudy.csproj
@@ -14,6 +14,15 @@
MSBuild:UpdateDesignTimeXaml
+
+ MSBuild:UpdateDesignTimeXaml
+
+
+ MSBuild:UpdateDesignTimeXaml
+
+
+ MSBuild:UpdateDesignTimeXaml
+
MSBuild:UpdateDesignTimeXaml