* RootPageDetail.xaml:

* RootPageMaster.xaml:
* RootPageDetail.xaml.cs:
* RootPageMaster.xaml.cs:
* RootPageMenuItem.cs: Remove Unused Items

* RootPage.xaml:
* RootPage.xaml.cs: Convert to Flyout and MasterDetail deprecated

* packages.config:
* packages.config:
* qController.iOS.csproj:
* qController.Droid.csproj:
* Resource.designer.cs:
* qController.csproj: Update Dependencies

* QNavBar.cs: Conver QNavBar to Frame Based

* App.xaml.cs: Reorganize intialization and convert to Flyout

* QBrowserPage.xaml: Convert to StackLayout
This commit is contained in:
2021-01-28 13:39:44 -06:00
parent 3ba1b81304
commit 795f9bafa6
17 changed files with 1615 additions and 9550 deletions
+1543 -9339
View File
File diff suppressed because it is too large Load Diff
+4 -4
View File
@@ -2,7 +2,7 @@
<packages>
<package id="Acr.Settings" version="9.0.1" targetFramework="monoandroid90" />
<package id="Acr.Support" version="2.1.0" targetFramework="monoandroid90" />
<package id="Acr.UserDialogs" version="7.1.0.470" targetFramework="monoandroid90" />
<package id="Acr.UserDialogs" version="7.1.0.475" targetFramework="monoandroid90" />
<package id="AndHUD" version="1.4.2" targetFramework="monoandroid90" />
<package id="Microsoft.CSharp" version="4.7.0" targetFramework="monoandroid90" />
<package id="Microsoft.NETCore.Platforms" version="5.0.0" targetFramework="monoandroid90" />
@@ -13,7 +13,7 @@
<package id="Serilog" version="2.10.0" targetFramework="monoandroid90" />
<package id="Serilog.Sinks.Xamarin" version="0.2.0.64" targetFramework="monoandroid90" />
<package id="Sharpnado.MaterialFrame" version="1.1.3" targetFramework="monoandroid90" />
<package id="Splat" version="9.8.1" targetFramework="monoandroid90" />
<package id="Splat" version="10.0.1" targetFramework="monoandroid90" />
<package id="System.AppContext" version="4.3.0" targetFramework="monoandroid90" />
<package id="System.Collections" version="4.3.0" targetFramework="monoandroid90" />
<package id="System.Collections.Concurrent" version="4.3.0" targetFramework="monoandroid90" />
@@ -120,7 +120,7 @@
<package id="Xamarin.Android.Support.Vector.Drawable" version="28.0.0.3" targetFramework="monoandroid90" />
<package id="Xamarin.Android.Support.VersionedParcelable" version="28.0.0.3" targetFramework="monoandroid90" />
<package id="Xamarin.Android.Support.ViewPager" version="28.0.0.3" targetFramework="monoandroid90" />
<package id="Xamarin.Essentials" version="1.6.1-preview1" targetFramework="monoandroid90" />
<package id="Xamarin.Forms" version="5.0.0.1874" targetFramework="monoandroid90" />
<package id="Xamarin.Essentials" version="1.6.1" targetFramework="monoandroid90" />
<package id="Xamarin.Forms" version="5.0.0.1931" targetFramework="monoandroid90" />
<package id="Zeroconf" version="3.4.2" targetFramework="monoandroid90" />
</packages>
+8 -8
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\packages\Xamarin.Forms.5.0.0.1874\build\Xamarin.Forms.props" Condition="Exists('..\packages\Xamarin.Forms.5.0.0.1874\build\Xamarin.Forms.props')" />
<Import Project="..\packages\Xamarin.Forms.5.0.0.1931\build\Xamarin.Forms.props" Condition="Exists('..\packages\Xamarin.Forms.5.0.0.1931\build\Xamarin.Forms.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
@@ -83,7 +83,7 @@
<Private>False</Private>
</Reference>
<Reference Include="Acr.UserDialogs">
<HintPath>..\packages\Acr.UserDialogs.7.1.0.470\lib\monoandroid90\Acr.UserDialogs.dll</HintPath>
<HintPath>..\packages\Acr.UserDialogs.7.1.0.475\lib\monoandroid90\Acr.UserDialogs.dll</HintPath>
</Reference>
<Reference Include="AndHUD">
<HintPath>..\packages\AndHUD.1.4.2\lib\MonoAndroid81\AndHUD.dll</HintPath>
@@ -98,7 +98,7 @@
<HintPath>..\packages\Serilog.Sinks.Xamarin.0.2.0.64\lib\MonoAndroid403\Serilog.Sinks.Xamarin.dll</HintPath>
</Reference>
<Reference Include="Splat">
<HintPath>..\packages\Splat.9.8.1\lib\netstandard2.0\Splat.dll</HintPath>
<HintPath>..\packages\Splat.10.0.1\lib\netstandard2.0\Splat.dll</HintPath>
</Reference>
<Reference Include="System.Reactive">
<HintPath>..\packages\System.Reactive.5.0.0\lib\netstandard2.0\System.Reactive.dll</HintPath>
@@ -233,16 +233,16 @@
<HintPath>..\packages\Xamarin.Android.Support.ViewPager.28.0.0.3\lib\monoandroid90\Xamarin.Android.Support.ViewPager.dll</HintPath>
</Reference>
<Reference Include="Xamarin.Essentials">
<HintPath>..\packages\Xamarin.Essentials.1.6.1-preview1\lib\monoandroid90\Xamarin.Essentials.dll</HintPath>
<HintPath>..\packages\Xamarin.Essentials.1.6.1\lib\monoandroid90\Xamarin.Essentials.dll</HintPath>
</Reference>
<Reference Include="Xamarin.Forms.Core">
<HintPath>..\packages\Xamarin.Forms.5.0.0.1874\lib\netstandard2.0\Xamarin.Forms.Core.dll</HintPath>
<HintPath>..\packages\Xamarin.Forms.5.0.0.1931\lib\netstandard2.0\Xamarin.Forms.Core.dll</HintPath>
</Reference>
<Reference Include="Xamarin.Forms.Platform">
<HintPath>..\packages\Xamarin.Forms.5.0.0.1874\lib\netstandard2.0\Xamarin.Forms.Platform.dll</HintPath>
<HintPath>..\packages\Xamarin.Forms.5.0.0.1931\lib\netstandard2.0\Xamarin.Forms.Platform.dll</HintPath>
</Reference>
<Reference Include="Xamarin.Forms.Xaml">
<HintPath>..\packages\Xamarin.Forms.5.0.0.1874\lib\netstandard2.0\Xamarin.Forms.Xaml.dll</HintPath>
<HintPath>..\packages\Xamarin.Forms.5.0.0.1931\lib\netstandard2.0\Xamarin.Forms.Xaml.dll</HintPath>
</Reference>
<Reference Include="Zeroconf">
<HintPath>..\packages\Zeroconf.3.4.2\lib\netstandard2.0\Zeroconf.dll</HintPath>
@@ -329,5 +329,5 @@
<Import Project="..\packages\Xamarin.Android.Support.Vector.Drawable.28.0.0.3\build\monoandroid90\Xamarin.Android.Support.Vector.Drawable.targets" Condition="Exists('..\packages\Xamarin.Android.Support.Vector.Drawable.28.0.0.3\build\monoandroid90\Xamarin.Android.Support.Vector.Drawable.targets')" />
<Import Project="..\packages\Xamarin.Android.Support.VersionedParcelable.28.0.0.3\build\monoandroid90\Xamarin.Android.Support.VersionedParcelable.targets" Condition="Exists('..\packages\Xamarin.Android.Support.VersionedParcelable.28.0.0.3\build\monoandroid90\Xamarin.Android.Support.VersionedParcelable.targets')" />
<Import Project="..\packages\Xamarin.Android.Support.ViewPager.28.0.0.3\build\monoandroid90\Xamarin.Android.Support.ViewPager.targets" Condition="Exists('..\packages\Xamarin.Android.Support.ViewPager.28.0.0.3\build\monoandroid90\Xamarin.Android.Support.ViewPager.targets')" />
<Import Project="..\packages\Xamarin.Forms.5.0.0.1874\build\Xamarin.Forms.targets" Condition="Exists('..\packages\Xamarin.Forms.5.0.0.1874\build\Xamarin.Forms.targets')" />
<Import Project="..\packages\Xamarin.Forms.5.0.0.1931\build\Xamarin.Forms.targets" Condition="Exists('..\packages\Xamarin.Forms.5.0.0.1931\build\Xamarin.Forms.targets')" />
</Project>
+3 -3
View File
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Acr.Settings" version="9.0.1" targetFramework="xamarinios10" />
<package id="Acr.UserDialogs" version="7.1.0.470" targetFramework="xamarinios10" />
<package id="Acr.UserDialogs" version="7.1.0.475" targetFramework="xamarinios10" />
<package id="BTProgressHUD" version="1.3.2" targetFramework="xamarinios10" />
<package id="Microsoft.CSharp" version="4.7.0" targetFramework="xamarinios10" />
<package id="Microsoft.NETCore.Platforms" version="5.0.0" targetFramework="xamarinios10" />
@@ -77,8 +77,8 @@
<package id="System.Xml.ReaderWriter" version="4.3.1" targetFramework="xamarinios10" />
<package id="System.Xml.XDocument" version="4.3.0" targetFramework="xamarinios10" />
<package id="System.Xml.XmlDocument" version="4.3.0" targetFramework="xamarinios10" />
<package id="Xamarin.Essentials" version="1.6.1-preview1" targetFramework="xamarinios10" />
<package id="Xamarin.Forms" version="5.0.0.1874" targetFramework="xamarinios10" />
<package id="Xamarin.Essentials" version="1.6.1" targetFramework="xamarinios10" />
<package id="Xamarin.Forms" version="5.0.0.1931" targetFramework="xamarinios10" />
<package id="Xamarin.iOS.MaterialComponents" version="92.0.0" targetFramework="xamarinios10" />
<package id="Zeroconf" version="3.4.2" targetFramework="xamarinios10" />
</packages>
+8 -8
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\packages\Xamarin.Forms.5.0.0.1874\build\Xamarin.Forms.props" Condition="Exists('..\packages\Xamarin.Forms.5.0.0.1874\build\Xamarin.Forms.props')" />
<Import Project="..\packages\Xamarin.Forms.5.0.0.1931\build\Xamarin.Forms.props" Condition="Exists('..\packages\Xamarin.Forms.5.0.0.1931\build\Xamarin.Forms.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">iPhoneSimulator</Platform>
@@ -92,7 +92,7 @@
<HintPath>..\packages\BTProgressHUD.1.3.2\lib\xamarinios10\BTProgressHUD.dll</HintPath>
</Reference>
<Reference Include="Acr.UserDialogs">
<HintPath>..\packages\Acr.UserDialogs.7.1.0.470\lib\xamarinios10\Acr.UserDialogs.dll</HintPath>
<HintPath>..\packages\Acr.UserDialogs.7.1.0.475\lib\xamarinios10\Acr.UserDialogs.dll</HintPath>
</Reference>
<Reference Include="OpenTK-1.0" />
<Reference Include="System.Net.Http" />
@@ -124,16 +124,16 @@
<HintPath>..\packages\System.Reactive.PlatformServices.5.0.0\lib\netstandard2.0\System.Reactive.PlatformServices.dll</HintPath>
</Reference>
<Reference Include="Xamarin.Forms.Core">
<HintPath>..\packages\Xamarin.Forms.5.0.0.1874\lib\Xamarin.iOS10\Xamarin.Forms.Core.dll</HintPath>
<HintPath>..\packages\Xamarin.Forms.5.0.0.1931\lib\Xamarin.iOS10\Xamarin.Forms.Core.dll</HintPath>
</Reference>
<Reference Include="Xamarin.Forms.Platform">
<HintPath>..\packages\Xamarin.Forms.5.0.0.1874\lib\Xamarin.iOS10\Xamarin.Forms.Platform.dll</HintPath>
<HintPath>..\packages\Xamarin.Forms.5.0.0.1931\lib\Xamarin.iOS10\Xamarin.Forms.Platform.dll</HintPath>
</Reference>
<Reference Include="Xamarin.Forms.Xaml">
<HintPath>..\packages\Xamarin.Forms.5.0.0.1874\lib\Xamarin.iOS10\Xamarin.Forms.Xaml.dll</HintPath>
<HintPath>..\packages\Xamarin.Forms.5.0.0.1931\lib\Xamarin.iOS10\Xamarin.Forms.Xaml.dll</HintPath>
</Reference>
<Reference Include="Xamarin.Essentials">
<HintPath>..\packages\Xamarin.Essentials.1.6.1-preview1\lib\xamarinios10\Xamarin.Essentials.dll</HintPath>
<HintPath>..\packages\Xamarin.Essentials.1.6.1\lib\xamarinios10\Xamarin.Essentials.dll</HintPath>
</Reference>
<Reference Include="Serilog">
<HintPath>..\packages\Serilog.2.10.0\lib\netstandard2.1\Serilog.dll</HintPath>
@@ -150,7 +150,7 @@
</Reference>
<Reference Include="System.Numerics" />
<Reference Include="Xamarin.Forms.Platform.iOS">
<HintPath>..\packages\Xamarin.Forms.5.0.0.1874\lib\Xamarin.iOS10\Xamarin.Forms.Platform.iOS.dll</HintPath>
<HintPath>..\packages\Xamarin.Forms.5.0.0.1931\lib\Xamarin.iOS10\Xamarin.Forms.Platform.iOS.dll</HintPath>
</Reference>
<Reference Include="Sharpnado.MaterialFrame">
<HintPath>..\packages\Sharpnado.MaterialFrame.1.1.3\lib\Xamarin.iOS10\Sharpnado.MaterialFrame.dll</HintPath>
@@ -240,5 +240,5 @@
<Import Project="$(MSBuildExtensionsPath)\Xamarin\iOS\Xamarin.iOS.CSharp.targets" />
<Import Project="..\packages\NETStandard.Library.2.0.3\build\netstandard2.0\NETStandard.Library.targets" Condition="Exists('..\packages\NETStandard.Library.2.0.3\build\netstandard2.0\NETStandard.Library.targets')" />
<Import Project="..\packages\BTProgressHUD.1.3.2\build\xamarin.ios10\BTProgressHud.targets" Condition="Exists('..\packages\BTProgressHUD.1.3.2\build\xamarin.ios10\BTProgressHud.targets')" />
<Import Project="..\packages\Xamarin.Forms.5.0.0.1874\build\Xamarin.Forms.targets" Condition="Exists('..\packages\Xamarin.Forms.5.0.0.1874\build\Xamarin.Forms.targets')" />
<Import Project="..\packages\Xamarin.Forms.5.0.0.1931\build\Xamarin.Forms.targets" Condition="Exists('..\packages\Xamarin.Forms.5.0.0.1931\build\Xamarin.Forms.targets')" />
</Project>
+7 -13
View File
@@ -37,10 +37,8 @@ namespace qController
{
InitializeComponent();
Sharpnado.MaterialFrame.Initializer.Initialize(loggerEnable: false, debugLogEnable: false);
AppActions.OnAppAction += AppActions_OnAppAction;
/*MainPage = new NavigationPage(new QConnectionPage());
iNav = MainPage.Navigation;*/
App.Current.RequestedThemeChanged += Current_RequestedThemeChanged;
SetAppResources();
mainDisplayInfo = DeviceDisplay.MainDisplayInfo;
@@ -48,6 +46,7 @@ namespace qController
Width = mainDisplayInfo.Width / mainDisplayInfo.Density;
HeightUnit = Height / 100.0;
WidthUnit = Width / 100.0;
switch (Device.RuntimePlatform)
{
case Device.iOS:
@@ -56,22 +55,16 @@ namespace qController
case Device.Android:
QFont = "qfont.ttf#qfont";
break;
}
SetAppResources();
App.Current.RequestedThemeChanged += Current_RequestedThemeChanged;
var menuPage = new MenuPage();
rootPage = new RootPage();
NavigationPage = new NavigationPage(new QBrowserPage());
rootPage.Master = menuPage;
rootPage.Detail = NavigationPage;
MainPage = rootPage;
Log.Debug("Finished rootPage Setup in App Constructor");
rootPage.Init();
AppActions.OnAppAction += AppActions_OnAppAction;
}
private void AppActions_OnAppAction(object sender, AppActionEventArgs e)
@@ -103,6 +96,7 @@ namespace qController
private void SetAppResources()
{
switch (App.Current.RequestedTheme)
{
case OSAppTheme.Light:
@@ -1,20 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace qController.Pages
{
public class RootPageMenuItem
{
public RootPageMenuItem()
{
TargetType = typeof(RootPageDetail);
}
public int Id { get; set; }
public string Title { get; set; }
public Type TargetType { get; set; }
}
}
+22 -14
View File
@@ -2,22 +2,30 @@
namespace qController.UI
{
public class QNavBar : Grid
public class QNavBar : Frame
{
public Label menuButton;
public Label instanceName;
public QNavBar()
{
RowSpacing = 0;
ColumnSpacing = 0;
this.SetDynamicResource(Grid.BackgroundColorProperty, "NavigationBarColor");
CornerRadius = 0;
HasShadow = false;
Padding = 0;
Margin = 0;
this.SetDynamicResource(Grid.BackgroundColorProperty, "NavigationBarColor");
RowDefinitions = new RowDefinitionCollection {
new RowDefinition { Height = GridLength.Star }
Grid grid = new Grid();
grid.RowSpacing = 0;
grid.ColumnSpacing = 0;
grid.Margin = 0;
grid.Padding = 0;
grid.RowDefinitions = new RowDefinitionCollection {
new RowDefinition { Height = 50 }
};
ColumnDefinitions = new ColumnDefinitionCollection
grid.ColumnDefinitions = new ColumnDefinitionCollection
{
new ColumnDefinition {Width = GridLength.Star},
new ColumnDefinition {Width = new GridLength(4,GridUnitType.Star)},
@@ -31,14 +39,13 @@ namespace qController.UI
HorizontalTextAlignment = TextAlignment.Start,
VerticalTextAlignment = TextAlignment.Center,
Padding = 0,
Margin = new Thickness(10,0,0,0),
Margin = new Thickness(10, 0, 0, 0),
Text = QIcon.MENU,
BackgroundColor = Color.Transparent,
//BackgroundColor = Color.Red
BackgroundColor = Color.Transparent
};
menuButton.SetDynamicResource(Label.TextColorProperty, "IconTextColor");
instanceName = new Label
{
@@ -46,7 +53,7 @@ namespace qController.UI
VerticalOptions = LayoutOptions.FillAndExpand,
HorizontalTextAlignment = TextAlignment.End,
VerticalTextAlignment = TextAlignment.Center,
Margin = new Thickness(0,0,10,0),
Margin = new Thickness(0, 0, 10, 0),
Padding = 0,
FontSize = App.HeightUnit * 3,
//BackgroundColor = Color.Blue
@@ -71,8 +78,9 @@ namespace qController.UI
break;
}
this.Children.Add(menuButton, 0, 0);
this.Children.Add(instanceName, 1, 0);
grid.Children.Add(menuButton, 0, 0);
grid.Children.Add(instanceName, 1, 0);
Content = grid;
}
}
}
+7 -16
View File
@@ -12,35 +12,28 @@
BackgroundColor="{DynamicResource PageBackgroundColor}">
<ContentPage.Content>
<Grid RowSpacing="0">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
<RowDefinition Height="10"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<StackLayout>
<qui:QNavBar/>
<!--Ordering is based on the order last is on top seems pretty backwards to me-->
<!--Old "Instance" listview -->
<ListView x:Name="storageListView"
HasUnevenRows="true"
BackgroundColor="{DynamicResource PageBackgroundColor}"
SeparatorVisibility="None"
Grid.Row="1">
SeparatorVisibility="None">
</ListView>
<!--Simple Divider-->
<BoxView HeightRequest="10"
BackgroundColor="DarkGray"
Grid.Row="2"/>
BackgroundColor="DarkGray"/>
<!--Beginning of new style of "server" view-->
<Frame BackgroundColor="{DynamicResource PageBackgroundColor}"
CornerRadius="0"
Margin="0"
Padding="0"
Grid.Row="3">
HasShadow="False">
<StackLayout Spacing="0" BackgroundColor="Transparent">
<Label Margin="0,10,0,10"
Padding="0"
@@ -49,7 +42,7 @@
HorizontalTextAlignment="Center"
FontSize="Header"
Text="Discovered QLab Instances" />
<!--Need to try and remove the group spacing caused by ios:GroupHeaderStyle-->
Need to try and remove the group spacing caused by ios:GroupHeaderStyle
<ListView x:Name="serverListView"
ios:ListView.GroupHeaderStyle="Grouped"
GroupDisplayBinding="{Binding name}"
@@ -150,8 +143,6 @@
</StackLayout>
</Frame>
<qui:QNavBar x:Name="qNavBar"
Grid.Row="0"/>
</Grid>
</StackLayout>
</ContentPage.Content>
</ContentPage>
@@ -1,4 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<MasterDetailPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" x:Class="qController.RootPage" xmlns:pages="clr-namespace:qController">
</MasterDetailPage>
@@ -1,6 +0,0 @@
<?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="qController.Pages.RootPageDetail" 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 'Master' page with an Icon that references it." />
</StackLayout>
</ContentPage>
@@ -1,20 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Xamarin.Forms;
using Xamarin.Forms.Xaml;
namespace qController.Pages
{
[XamlCompilation(XamlCompilationOptions.Compile)]
public partial class RootPageDetail : ContentPage
{
public RootPageDetail()
{
InitializeComponent();
}
}
}
@@ -1,32 +0,0 @@
<?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="qController.Pages.RootPageMaster" Title="Master">
<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>
@@ -1,56 +0,0 @@
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 qController.Pages
{
[XamlCompilation(XamlCompilationOptions.Compile)]
public partial class RootPageMaster : ContentPage
{
public ListView ListView;
public RootPageMaster()
{
InitializeComponent();
BindingContext = new RootPageMasterViewModel();
ListView = MenuItemsListView;
}
class RootPageMasterViewModel : INotifyPropertyChanged
{
public ObservableCollection<RootPageMenuItem> MenuItems { get; set; }
public RootPageMasterViewModel()
{
MenuItems = new ObservableCollection<RootPageMenuItem>(new[]
{
new RootPageMenuItem { Id = 0, Title = "Page 1" },
new RootPageMenuItem { Id = 1, Title = "Page 2" },
new RootPageMenuItem { Id = 2, Title = "Page 3" },
new RootPageMenuItem { Id = 3, Title = "Page 4" },
new RootPageMenuItem { 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
}
}
}
+7
View File
@@ -0,0 +1,7 @@
<?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="qController.RootPage"
xmlns:pages="clr-namespace:qController">
</FlyoutPage>
@@ -12,7 +12,7 @@ namespace qController
}
}
public partial class RootPage : MasterDetailPage
public partial class RootPage : FlyoutPage
{
public MenuPage MenuPage;
public delegate void MenuItemSelectedHandler(object source, MenuEventArgs args);
@@ -21,12 +21,12 @@ namespace qController
public RootPage()
{
InitializeComponent();
Flyout = new MenuPage();
}
public void Init()
{
MenuPage = (MenuPage)Master;
MenuPage = (MenuPage)Flyout;
MenuPage.setItemSelected(OnItemSelected);
}
+3 -4
View File
@@ -57,12 +57,12 @@
</Compile>
</ItemGroup>
<ItemGroup>
<PackageReference Include="Acr.UserDialogs" Version="7.1.0.470" />
<PackageReference Include="Acr.UserDialogs" Version="7.1.0.475" />
<PackageReference Include="Zeroconf" Version="3.4.2" />
<PackageReference Include="Xamarin.Forms" Version="5.0.0.1874" />
<PackageReference Include="Xamarin.Forms" Version="5.0.0.1931" />
<PackageReference Include="Acr.Settings" Version="9.0.1" />
<PackageReference Include="Newtonsoft.Json" Version="12.0.3" />
<PackageReference Include="Xamarin.Essentials" Version="1.6.0" />
<PackageReference Include="Xamarin.Essentials" Version="1.6.1" />
<PackageReference Include="Serilog" Version="2.10.0" />
<PackageReference Include="QControlKit" Version="0.0.11" />
<PackageReference Include="Sharpnado.MaterialFrame" Version="1.1.3" />
@@ -96,7 +96,6 @@
<Folder Include="Classes\UI\Cells\" />
<Folder Include="Classes\Helpers\" />
<Folder Include="Views\Old\" />
<Folder Include="Views\Root\" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Remove="Pages\RootPageMaster.xaml" />