summaryrefslogtreecommitdiff
path: root/Xamarin.Forms.Platform.WP8/NavigationPageRenderer.cs
diff options
context:
space:
mode:
authorE.Z. Hart <hartez@users.noreply.github.com>2016-06-16 09:45:09 -0600
committerRui Marinho <me@ruimarinho.net>2016-06-16 16:45:09 +0100
commitd5be2f0144ca810fdfbf59808d526c26fe86017e (patch)
tree3ad7e4465307cd6d633184e05d85eb3a4df59e01 /Xamarin.Forms.Platform.WP8/NavigationPageRenderer.cs
parent04f7bd296ee67af9189ecd7fdfbd2808ca16ce9a (diff)
downloadxamarin-forms-d5be2f0144ca810fdfbf59808d526c26fe86017e.tar.gz
xamarin-forms-d5be2f0144ca810fdfbf59808d526c26fe86017e.tar.bz2
xamarin-forms-d5be2f0144ca810fdfbf59808d526c26fe86017e.zip
Prep Page for removal of InternalsVisibleTo (#150)
Diffstat (limited to 'Xamarin.Forms.Platform.WP8/NavigationPageRenderer.cs')
-rw-r--r--Xamarin.Forms.Platform.WP8/NavigationPageRenderer.cs26
1 files changed, 15 insertions, 11 deletions
diff --git a/Xamarin.Forms.Platform.WP8/NavigationPageRenderer.cs b/Xamarin.Forms.Platform.WP8/NavigationPageRenderer.cs
index 2bd5b7b3..1637b1d0 100644
--- a/Xamarin.Forms.Platform.WP8/NavigationPageRenderer.cs
+++ b/Xamarin.Forms.Platform.WP8/NavigationPageRenderer.cs
@@ -19,6 +19,9 @@ namespace Xamarin.Forms.Platform.WinPhone
AutoPackage = false;
}
+ IPageController PageController => Element as IPageController;
+ IElementController ElementController => Element as IElementController;
+
protected override void OnElementChanged(ElementChangedEventArgs<NavigationPage> e)
{
base.OnElementChanged(e);
@@ -37,9 +40,10 @@ namespace Xamarin.Forms.Platform.WinPhone
Element.PropertyChanged += OnElementPropertyChanged;
var platform = (Platform)Element.Platform;
- Element.ContainerArea = new Rectangle(new Point(0, 0), platform.Size);
- platform.SizeChanged += (sender, args) => Element.ContainerArea = new Rectangle(new Point(0, 0), platform.Size);
+ PageController.ContainerArea = new Rectangle(new Point(0, 0), platform.Size);
+
+ platform.SizeChanged += (sender, args) => PageController.ContainerArea = new Rectangle(new Point(0, 0), platform.Size);
List<Page> stack = GetStack();
if (stack.Count > 0)
@@ -59,7 +63,7 @@ namespace Xamarin.Forms.Platform.WinPhone
else
init();
- Loaded += (sender, args) => Element.SendAppearing();
+ Loaded += (sender, args) => PageController.SendAppearing();
Unloaded += OnUnloaded;
}
@@ -79,10 +83,10 @@ namespace Xamarin.Forms.Platform.WinPhone
List<Page> GetStack()
{
- int count = Element.InternalChildren.Count;
+ int count = PageController.InternalChildren.Count;
var stack = new List<Page>(count);
for (var i = 0; i < count; i++)
- stack.Add((Page)Element.InternalChildren[i]);
+ stack.Add((Page)PageController.InternalChildren[i]);
return stack;
}
@@ -97,9 +101,9 @@ namespace Xamarin.Forms.Platform.WinPhone
if (platform == null)
return;
- for (var i = 0; i < Element.LogicalChildren.Count; i++)
+ for (var i = 0; i < ElementController.LogicalChildren.Count; i++)
{
- var page = Element.LogicalChildren[i] as Page;
+ var page = ElementController.LogicalChildren[i] as Page;
if (page != null)
platform.RemovePage(page, false);
}
@@ -107,7 +111,7 @@ namespace Xamarin.Forms.Platform.WinPhone
void OnUnloaded(object sender, RoutedEventArgs args)
{
- Element.SendDisappearing();
+ PageController.SendDisappearing();
}
void PageOnPopped(object sender, NavigationRequestedEventArgs eventArg)
@@ -136,7 +140,7 @@ namespace Xamarin.Forms.Platform.WinPhone
if (platform != null)
{
if (e.Page == ((INavigationPageController)Element).StackCopy.LastOrDefault())
- e.Page.IgnoresContainerArea = true;
+ ((IPageController)e.Page).IgnoresContainerArea = true;
e.Task = platform.PushCore(e.Page, Element, e.Animated, e.Realize).ContinueWith((t, o) => true, null);
}
}
@@ -169,7 +173,7 @@ namespace Xamarin.Forms.Platform.WinPhone
{
Children.RemoveAt(0);
- var page = renderer.Element as Page;
+ var page = renderer.Element as IPageController;
if (page != null)
page.IgnoresContainerArea = false;
@@ -183,7 +187,7 @@ namespace Xamarin.Forms.Platform.WinPhone
if (first == null)
return;
- first.IgnoresContainerArea = true;
+ ((IPageController)first).IgnoresContainerArea = true;
IVisualElementRenderer firstRenderer = Platform.GetRenderer(first);
if (firstRenderer == null)