initial commit2
This commit is contained in:
parent
50bc2aa469
commit
7ded5a7083
16
FlyoutPage1.xaml
Normal file
16
FlyoutPage1.xaml
Normal file
@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<FlyoutPage xmlns="http://xamarin.com/schemas/2014/forms"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
|
||||
x:Class="MobileAPP.FlyoutPage1"
|
||||
xmlns:pages="clr-namespace:MobileAPP">
|
||||
<FlyoutPage.Flyout>
|
||||
<pages:FlyoutPage1Flyout x:Name="FlyoutPage" />
|
||||
</FlyoutPage.Flyout>
|
||||
<FlyoutPage.Detail>
|
||||
<NavigationPage>
|
||||
<x:Arguments>
|
||||
<pages:FlyoutPage1Detail />
|
||||
</x:Arguments>
|
||||
</NavigationPage>
|
||||
</FlyoutPage.Detail>
|
||||
</FlyoutPage>
|
36
FlyoutPage1.xaml.cs
Normal file
36
FlyoutPage1.xaml.cs
Normal file
@ -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 MobileAPP
|
||||
{
|
||||
[XamlCompilation(XamlCompilationOptions.Compile)]
|
||||
public partial class FlyoutPage1 : FlyoutPage
|
||||
{
|
||||
public FlyoutPage1()
|
||||
{
|
||||
InitializeComponent();
|
||||
FlyoutPage.ListView.ItemSelected += ListView_ItemSelected;
|
||||
}
|
||||
|
||||
private void ListView_ItemSelected(object sender, SelectedItemChangedEventArgs e)
|
||||
{
|
||||
var item = e.SelectedItem as FlyoutPage1FlyoutMenuItem;
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
9
FlyoutPage1Detail.xaml
Normal file
9
FlyoutPage1Detail.xaml
Normal file
@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
|
||||
x:Class="MobileAPP.FlyoutPage1Detail"
|
||||
Title="Detail">
|
||||
<StackLayout Padding="10">
|
||||
<Label Text="This is a detail page. To get the 'triple' line icon on each platform add a icon to each platform and update the 'Flyout' page with an Icon that references it."/>
|
||||
</StackLayout>
|
||||
</ContentPage>
|
20
FlyoutPage1Detail.xaml.cs
Normal file
20
FlyoutPage1Detail.xaml.cs
Normal file
@ -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 MobileAPP
|
||||
{
|
||||
[XamlCompilation(XamlCompilationOptions.Compile)]
|
||||
public partial class FlyoutPage1Detail : ContentPage
|
||||
{
|
||||
public FlyoutPage1Detail()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
}
|
45
FlyoutPage1Flyout.xaml
Normal file
45
FlyoutPage1Flyout.xaml
Normal file
@ -0,0 +1,45 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
|
||||
x:Class="MobileAPP.FlyoutPage1Flyout"
|
||||
Title="Flyout">
|
||||
<StackLayout>
|
||||
<ListView x:Name="MenuItemsListView"
|
||||
SeparatorVisibility="None"
|
||||
HasUnevenRows="true"
|
||||
ItemsSource="{Binding MenuItems}">
|
||||
<ListView.Header>
|
||||
<Grid BackgroundColor="#03A9F4">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="10"/>
|
||||
<ColumnDefinition Width="*"/>
|
||||
<ColumnDefinition Width="10"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="30"/>
|
||||
<RowDefinition Height="80"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="10"/>
|
||||
</Grid.RowDefinitions>
|
||||
<Label
|
||||
Grid.Column="1"
|
||||
Grid.Row="2"
|
||||
Text="AppName"
|
||||
Style="{DynamicResource SubtitleStyle}"/>
|
||||
</Grid>
|
||||
</ListView.Header>
|
||||
<ListView.ItemTemplate>
|
||||
<DataTemplate>
|
||||
<ViewCell>
|
||||
<StackLayout Padding="15,10" HorizontalOptions="FillAndExpand">
|
||||
<Label VerticalOptions="FillAndExpand"
|
||||
VerticalTextAlignment="Center"
|
||||
Text="{Binding Title}"
|
||||
FontSize="24"/>
|
||||
</StackLayout>
|
||||
</ViewCell>
|
||||
</DataTemplate>
|
||||
</ListView.ItemTemplate>
|
||||
</ListView>
|
||||
</StackLayout>
|
||||
</ContentPage>
|
56
FlyoutPage1Flyout.xaml.cs
Normal file
56
FlyoutPage1Flyout.xaml.cs
Normal file
@ -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 MobileAPP
|
||||
{
|
||||
[XamlCompilation(XamlCompilationOptions.Compile)]
|
||||
public partial class FlyoutPage1Flyout : ContentPage
|
||||
{
|
||||
public ListView ListView;
|
||||
|
||||
public FlyoutPage1Flyout()
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
BindingContext = new FlyoutPage1FlyoutViewModel();
|
||||
ListView = MenuItemsListView;
|
||||
}
|
||||
|
||||
private class FlyoutPage1FlyoutViewModel : INotifyPropertyChanged
|
||||
{
|
||||
public ObservableCollection<FlyoutPage1FlyoutMenuItem> MenuItems { get; set; }
|
||||
|
||||
public FlyoutPage1FlyoutViewModel()
|
||||
{
|
||||
MenuItems = new ObservableCollection<FlyoutPage1FlyoutMenuItem>(new[]
|
||||
{
|
||||
new FlyoutPage1FlyoutMenuItem { Id = 0, Title = "Page 1" },
|
||||
new FlyoutPage1FlyoutMenuItem { Id = 1, Title = "Page 2" },
|
||||
new FlyoutPage1FlyoutMenuItem { Id = 2, Title = "Page 3" },
|
||||
new FlyoutPage1FlyoutMenuItem { Id = 3, Title = "Page 4" },
|
||||
new FlyoutPage1FlyoutMenuItem { 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
|
||||
}
|
||||
}
|
||||
}
|
20
FlyoutPage1FlyoutMenuItem.cs
Normal file
20
FlyoutPage1FlyoutMenuItem.cs
Normal file
@ -0,0 +1,20 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace MobileAPP
|
||||
{
|
||||
public class FlyoutPage1FlyoutMenuItem
|
||||
{
|
||||
public FlyoutPage1FlyoutMenuItem()
|
||||
{
|
||||
TargetType = typeof(FlyoutPage1FlyoutMenuItem);
|
||||
}
|
||||
public int Id { get; set; }
|
||||
public string Title { get; set; }
|
||||
|
||||
public Type TargetType { get; set; }
|
||||
}
|
||||
}
|
@ -6,6 +6,11 @@
|
||||
<ActiveDebugProfile>Windows Machine</ActiveDebugProfile>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Compile Update="FlyoutPage1FlyoutMenuItem.cs">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Update="App.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
</None>
|
||||
|
Loading…
x
Reference in New Issue
Block a user