From 490a16ce3c0d6275a0d0ac965c55e02623504f62 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Su=C3=A1rez=20Ruiz?= Date: Wed, 16 Nov 2016 15:39:06 +0100 Subject: [PATCH] Created UWP filter menu renderer --- src/Mobile/eShopOnContainers.Xamarin.sln | 2 + .../eShopOnContainers.Windows/App.xaml | 4 ++ .../eShopOnContainers.Windows/App.xaml.cs | 4 +- .../Renderers/SlideDownMenuPageRenderer.cs | 37 +++++++++++++++++++ .../eShopOnContainers.Windows.csproj | 1 + 5 files changed, 47 insertions(+), 1 deletion(-) create mode 100644 src/Mobile/eShopOnContainers/eShopOnContainers.Windows/Renderers/SlideDownMenuPageRenderer.cs diff --git a/src/Mobile/eShopOnContainers.Xamarin.sln b/src/Mobile/eShopOnContainers.Xamarin.sln index 68893edc2..7082291a3 100644 --- a/src/Mobile/eShopOnContainers.Xamarin.sln +++ b/src/Mobile/eShopOnContainers.Xamarin.sln @@ -240,6 +240,8 @@ Global {C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Debug|ARM.Deploy.0 = Debug|ARM {C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Debug|iPhone.ActiveCfg = Debug|x86 {C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Debug|iPhoneSimulator.ActiveCfg = Debug|x86 + {C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Debug|iPhoneSimulator.Build.0 = Debug|x86 + {C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Debug|iPhoneSimulator.Deploy.0 = Debug|x86 {C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Debug|x64.ActiveCfg = Debug|x64 {C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Debug|x64.Build.0 = Debug|x64 {C3C1E2CF-B1F7-4654-BBDC-50143DB22E0B}.Debug|x64.Deploy.0 = Debug|x64 diff --git a/src/Mobile/eShopOnContainers/eShopOnContainers.Windows/App.xaml b/src/Mobile/eShopOnContainers/eShopOnContainers.Windows/App.xaml index e6d44a376..059e72563 100644 --- a/src/Mobile/eShopOnContainers/eShopOnContainers.Windows/App.xaml +++ b/src/Mobile/eShopOnContainers/eShopOnContainers.Windows/App.xaml @@ -235,6 +235,10 @@ + + diff --git a/src/Mobile/eShopOnContainers/eShopOnContainers.Windows/App.xaml.cs b/src/Mobile/eShopOnContainers/eShopOnContainers.Windows/App.xaml.cs index ea09ccca2..9b74cf102 100644 --- a/src/Mobile/eShopOnContainers/eShopOnContainers.Windows/App.xaml.cs +++ b/src/Mobile/eShopOnContainers/eShopOnContainers.Windows/App.xaml.cs @@ -55,7 +55,9 @@ namespace eShopOnContainers.UWP var assembliesToInclude = new List() { typeof(CachedImage).GetTypeInfo().Assembly, - typeof(CachedImageRenderer).GetTypeInfo().Assembly + typeof(CachedImageRenderer).GetTypeInfo().Assembly, + typeof(SlideOverKit.MenuContainerPage).GetTypeInfo().Assembly, + typeof(SlideOverKit.UWP.MenuContainerPageUWPRenderer).GetTypeInfo().Assembly }; Xamarin.Forms.Forms.Init(e, assembliesToInclude); diff --git a/src/Mobile/eShopOnContainers/eShopOnContainers.Windows/Renderers/SlideDownMenuPageRenderer.cs b/src/Mobile/eShopOnContainers/eShopOnContainers.Windows/Renderers/SlideDownMenuPageRenderer.cs new file mode 100644 index 000000000..df6eca53e --- /dev/null +++ b/src/Mobile/eShopOnContainers/eShopOnContainers.Windows/Renderers/SlideDownMenuPageRenderer.cs @@ -0,0 +1,37 @@ +using eShopOnContainers.Core.Views; +using eShopOnContainers.Windows.Renderers; +using SlideOverKit.UWP; +using System; +using Xamarin.Forms; +using Xamarin.Forms.Platform.UWP; + +[assembly: ExportRenderer(typeof(CatalogView), typeof(SlideDownMenuPageRenderer))] +namespace eShopOnContainers.Windows.Renderers +{ + public class SlideDownMenuPageRenderer : PageRenderer, ISlideOverKitPageRendererUWP + { + public Action> OnElementChangedEvent { get; set; } + SlideOverKitUWPHandler _handler; + + public SlideDownMenuPageRenderer() + { + _handler = new SlideOverKitUWPHandler(); + _handler.Init(this); + } + + protected override void OnElementChanged(ElementChangedEventArgs e) + { + base.OnElementChanged(e); + if (OnElementChangedEvent != null) + OnElementChangedEvent(e); + } + + protected override void Dispose(bool disposing) + { + _handler.Dispose(); + base.Dispose(disposing); + _handler = null; + } + + } +} diff --git a/src/Mobile/eShopOnContainers/eShopOnContainers.Windows/eShopOnContainers.Windows.csproj b/src/Mobile/eShopOnContainers/eShopOnContainers.Windows/eShopOnContainers.Windows.csproj index 5c8b83bfd..1cd8baba5 100644 --- a/src/Mobile/eShopOnContainers/eShopOnContainers.Windows/eShopOnContainers.Windows.csproj +++ b/src/Mobile/eShopOnContainers/eShopOnContainers.Windows/eShopOnContainers.Windows.csproj @@ -111,6 +111,7 @@ +