summaryrefslogtreecommitdiff
path: root/Xamarin.Forms.Platform.WP8
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
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')
-rw-r--r--Xamarin.Forms.Platform.WP8/CarouselPageRenderer.cs6
-rw-r--r--Xamarin.Forms.Platform.WP8/ImageRenderer.cs2
-rw-r--r--Xamarin.Forms.Platform.WP8/MasterDetailRenderer.cs6
-rw-r--r--Xamarin.Forms.Platform.WP8/NavigationPageRenderer.cs26
-rw-r--r--Xamarin.Forms.Platform.WP8/PageRenderer.cs4
-rw-r--r--Xamarin.Forms.Platform.WP8/PickerRenderer.cs8
-rw-r--r--Xamarin.Forms.Platform.WP8/Platform.cs2
-rw-r--r--Xamarin.Forms.Platform.WP8/StepperRenderer.cs6
-rw-r--r--Xamarin.Forms.Platform.WP8/SwitchRenderer.cs6
-rw-r--r--Xamarin.Forms.Platform.WP8/TabbedPageRenderer.cs6
-rw-r--r--Xamarin.Forms.Platform.WP8/VisualElementPackager.cs8
-rw-r--r--Xamarin.Forms.Platform.WP8/VisualElementRenderer.cs14
12 files changed, 56 insertions, 38 deletions
diff --git a/Xamarin.Forms.Platform.WP8/CarouselPageRenderer.cs b/Xamarin.Forms.Platform.WP8/CarouselPageRenderer.cs
index 29446c43..26cf2c1f 100644
--- a/Xamarin.Forms.Platform.WP8/CarouselPageRenderer.cs
+++ b/Xamarin.Forms.Platform.WP8/CarouselPageRenderer.cs
@@ -75,7 +75,7 @@ namespace Xamarin.Forms.Platform.WinPhone
if (element.ActualWidth > 0 && element.ActualHeight > 0)
{
var carouselItem = (Page)DataContext;
- ((CarouselPage)carouselItem.RealParent).ContainerArea = new Rectangle(0, 0, element.ActualWidth, element.ActualHeight);
+ ((IPageController)carouselItem.RealParent).ContainerArea = new Rectangle(0, 0, element.ActualWidth, element.ActualHeight);
}
};
}
@@ -132,8 +132,8 @@ namespace Xamarin.Forms.Platform.WinPhone
_page.PagesChanged += OnPagesChanged;
_page.PropertyChanged += OnPropertyChanged;
- Loaded += (sender, args) => _page.SendAppearing();
- Unloaded += (sender, args) => _page.SendDisappearing();
+ Loaded += (sender, args) => ((IPageController)_page).SendAppearing();
+ Unloaded += (sender, args) => ((IPageController)_page).SendDisappearing();
OnElementChanged(new VisualElementChangedEventArgs(oldElement, element));
}
diff --git a/Xamarin.Forms.Platform.WP8/ImageRenderer.cs b/Xamarin.Forms.Platform.WP8/ImageRenderer.cs
index 9a758c11..ebc50adc 100644
--- a/Xamarin.Forms.Platform.WP8/ImageRenderer.cs
+++ b/Xamarin.Forms.Platform.WP8/ImageRenderer.cs
@@ -27,6 +27,8 @@ namespace Xamarin.Forms.Platform.WinPhone
public class ImageRenderer : ViewRenderer<Image, System.Windows.Controls.Image>
{
+ IElementController ElementController => Element as IElementController;
+
public override SizeRequest GetDesiredSize(double widthConstraint, double heightConstraint)
{
// Someone reported a NRE happening in this method which can only be explained by Control being null
diff --git a/Xamarin.Forms.Platform.WP8/MasterDetailRenderer.cs b/Xamarin.Forms.Platform.WP8/MasterDetailRenderer.cs
index 25ca8465..9f05cb87 100644
--- a/Xamarin.Forms.Platform.WP8/MasterDetailRenderer.cs
+++ b/Xamarin.Forms.Platform.WP8/MasterDetailRenderer.cs
@@ -24,6 +24,8 @@ namespace Xamarin.Forms.Platform.WinPhone
public bool Visible { get; private set; }
+ IPageController PageController => Element as IPageController;
+
protected override System.Windows.Size ArrangeOverride(System.Windows.Size finalSize)
{
UpdateSizes(finalSize.Width, finalSize.Height);
@@ -49,11 +51,11 @@ namespace Xamarin.Forms.Platform.WinPhone
{
if (Element.IsPresented)
Toggle();
- Element.SendAppearing();
+ PageController.SendAppearing();
};
Unloaded += (sender, args) =>
{
- Element.SendDisappearing();
+ PageController.SendDisappearing();
if (Visible)
{
var platform = (Platform)Element.Platform;
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)
diff --git a/Xamarin.Forms.Platform.WP8/PageRenderer.cs b/Xamarin.Forms.Platform.WP8/PageRenderer.cs
index 6ba89ab5..8d314464 100644
--- a/Xamarin.Forms.Platform.WP8/PageRenderer.cs
+++ b/Xamarin.Forms.Platform.WP8/PageRenderer.cs
@@ -11,8 +11,8 @@ namespace Xamarin.Forms.Platform.WinPhone
base.OnElementChanged(e);
- Loaded += (sender, args) => Element.SendAppearing();
- Unloaded += (sender, args) => Element.SendDisappearing();
+ Loaded += (sender, args) => ((IPageController)Element).SendAppearing();
+ Unloaded += (sender, args) => ((IPageController)Element).SendDisappearing();
}
}
} \ No newline at end of file
diff --git a/Xamarin.Forms.Platform.WP8/PickerRenderer.cs b/Xamarin.Forms.Platform.WP8/PickerRenderer.cs
index d52f7314..5dc1d838 100644
--- a/Xamarin.Forms.Platform.WP8/PickerRenderer.cs
+++ b/Xamarin.Forms.Platform.WP8/PickerRenderer.cs
@@ -15,6 +15,8 @@ namespace Xamarin.Forms.Platform.WinPhone
FormsListPicker _listPicker;
Brush _defaultBrush;
+ IElementController ElementController => Element as IElementController;
+
protected override void OnElementChanged(ElementChangedEventArgs<Picker> e)
{
_listPicker = new FormsListPicker();
@@ -134,12 +136,12 @@ namespace Xamarin.Forms.Platform.WinPhone
if (oldVal == ListPickerMode.Normal && newVal == ListPickerMode.Full)
{
// Picker Page is now showing
- ((IElementController)Element).SetValueFromRenderer(VisualElement.IsFocusedPropertyKey, true);
+ ElementController.SetValueFromRenderer(VisualElement.IsFocusedPropertyKey, true);
}
else if (oldVal == ListPickerMode.Full && newVal == ListPickerMode.Normal)
{
// PickerPage is now dismissed
- ((IElementController)Element).SetValueFromRenderer(VisualElement.IsFocusedPropertyKey, false);
+ ElementController.SetValueFromRenderer(VisualElement.IsFocusedPropertyKey, false);
}
}
@@ -165,7 +167,7 @@ namespace Xamarin.Forms.Platform.WinPhone
return;
int elementSelectedIndex = picker.SelectedIndex - 1;
- ((IElementController)Element).SetValueFromRenderer(Picker.SelectedIndexProperty, elementSelectedIndex);
+ ElementController.SetValueFromRenderer(Picker.SelectedIndexProperty, elementSelectedIndex);
}
void UpdateAlignment()
diff --git a/Xamarin.Forms.Platform.WP8/Platform.cs b/Xamarin.Forms.Platform.WP8/Platform.cs
index cda86bc9..00623b4d 100644
--- a/Xamarin.Forms.Platform.WP8/Platform.cs
+++ b/Xamarin.Forms.Platform.WP8/Platform.cs
@@ -248,7 +248,7 @@ namespace Xamarin.Forms.Platform.WinPhone
var parent = current.Parent as NavigationPage;
if (parent != null)
{
- if (parent.InternalChildren[0] == current)
+ if (((IPageController)parent).InternalChildren[0] == current)
replaceWithRoot = true;
}
diff --git a/Xamarin.Forms.Platform.WP8/StepperRenderer.cs b/Xamarin.Forms.Platform.WP8/StepperRenderer.cs
index b459305f..a0193c32 100644
--- a/Xamarin.Forms.Platform.WP8/StepperRenderer.cs
+++ b/Xamarin.Forms.Platform.WP8/StepperRenderer.cs
@@ -12,6 +12,8 @@ namespace Xamarin.Forms.Platform.WinPhone
WButton _downButton;
WButton _upButton;
+ IElementController ElementController => Element as IElementController;
+
protected override void OnElementChanged(ElementChangedEventArgs<Stepper> e)
{
base.OnElementChanged(e);
@@ -51,12 +53,12 @@ namespace Xamarin.Forms.Platform.WinPhone
void DownButtonOnClick(object sender, RoutedEventArgs routedEventArgs)
{
- ((IElementController)Element).SetValueFromRenderer(Stepper.ValueProperty, Math.Max(Element.Minimum, Element.Value - Element.Increment));
+ ElementController.SetValueFromRenderer(Stepper.ValueProperty, Math.Max(Element.Minimum, Element.Value - Element.Increment));
}
void UpButtonOnClick(object sender, RoutedEventArgs routedEventArgs)
{
- ((IElementController)Element).SetValueFromRenderer(Stepper.ValueProperty, Math.Min(Element.Maximum, Element.Value + Element.Increment));
+ ElementController.SetValueFromRenderer(Stepper.ValueProperty, Math.Min(Element.Maximum, Element.Value + Element.Increment));
}
void UpdateButtons()
diff --git a/Xamarin.Forms.Platform.WP8/SwitchRenderer.cs b/Xamarin.Forms.Platform.WP8/SwitchRenderer.cs
index e64fe227..653cd0a6 100644
--- a/Xamarin.Forms.Platform.WP8/SwitchRenderer.cs
+++ b/Xamarin.Forms.Platform.WP8/SwitchRenderer.cs
@@ -9,14 +9,16 @@ namespace Xamarin.Forms.Platform.WinPhone
{
readonly ToggleSwitchButton _toggleSwitch = new ToggleSwitchButton();
+ IElementController ElementController => Element as IElementController;
+
protected override void OnElementChanged(ElementChangedEventArgs<Switch> e)
{
base.OnElementChanged(e);
var container = new Border { Child = _toggleSwitch };
_toggleSwitch.IsChecked = Element.IsToggled;
- _toggleSwitch.Checked += (sender, args) => ((IElementController)Element).SetValueFromRenderer(Switch.IsToggledProperty, true);
- _toggleSwitch.Unchecked += (sender, args) => ((IElementController)Element).SetValueFromRenderer(Switch.IsToggledProperty, false);
+ _toggleSwitch.Checked += (sender, args) => ElementController.SetValueFromRenderer(Switch.IsToggledProperty, true);
+ _toggleSwitch.Unchecked += (sender, args) => ElementController.SetValueFromRenderer(Switch.IsToggledProperty, false);
_toggleSwitch.HorizontalAlignment = HorizontalAlignment.Right;
SetNativeControl(container);
diff --git a/Xamarin.Forms.Platform.WP8/TabbedPageRenderer.cs b/Xamarin.Forms.Platform.WP8/TabbedPageRenderer.cs
index 9192fc6f..6d796e9c 100644
--- a/Xamarin.Forms.Platform.WP8/TabbedPageRenderer.cs
+++ b/Xamarin.Forms.Platform.WP8/TabbedPageRenderer.cs
@@ -26,7 +26,7 @@ namespace Xamarin.Forms.Platform.WinPhone
if (pivotItem.ActualWidth > 0 && pivotItem.ActualHeight > 0)
{
var tab = (Page)DataContext;
- ((TabbedPage)tab.RealParent).ContainerArea = new Rectangle(0, 0, pivotItem.ActualWidth, pivotItem.ActualHeight);
+ ((IPageController)tab.RealParent).ContainerArea = new Rectangle(0, 0, pivotItem.ActualWidth, pivotItem.ActualHeight);
}
};
}
@@ -74,8 +74,8 @@ namespace Xamarin.Forms.Platform.WinPhone
_page.PropertyChanged += OnPropertyChanged;
- Loaded += (sender, args) => _page.SendAppearing();
- Unloaded += (sender, args) => _page.SendDisappearing();
+ Loaded += (sender, args) => ((IPageController)_page).SendAppearing();
+ Unloaded += (sender, args) => ((IPageController)_page).SendDisappearing();
OnElementChanged(new VisualElementChangedEventArgs(_page, element));
}
diff --git a/Xamarin.Forms.Platform.WP8/VisualElementPackager.cs b/Xamarin.Forms.Platform.WP8/VisualElementPackager.cs
index 65f589fc..95e80370 100644
--- a/Xamarin.Forms.Platform.WP8/VisualElementPackager.cs
+++ b/Xamarin.Forms.Platform.WP8/VisualElementPackager.cs
@@ -22,6 +22,8 @@ namespace Xamarin.Forms.Platform.WinPhone
_renderer = renderer;
}
+ IElementController ElementController => _renderer.Element as IElementController;
+
public void Load()
{
if (_loaded)
@@ -32,15 +34,15 @@ namespace Xamarin.Forms.Platform.WinPhone
_renderer.Element.ChildRemoved += HandleChildRemoved;
_renderer.Element.ChildrenReordered += HandleChildrenReordered;
- foreach (Element child in _renderer.Element.LogicalChildren)
+ foreach (Element child in ElementController.LogicalChildren)
HandleChildAdded(_renderer.Element, new ElementEventArgs(child));
}
void EnsureZIndex()
{
- for (var index = 0; index < _renderer.Element.LogicalChildren.Count; index++)
+ for (var index = 0; index < ElementController.LogicalChildren.Count; index++)
{
- var child = (VisualElement)_renderer.Element.LogicalChildren[index];
+ var child = (VisualElement)ElementController.LogicalChildren[index];
IVisualElementRenderer r = Platform.GetRenderer(child);
if (r == null)
continue;
diff --git a/Xamarin.Forms.Platform.WP8/VisualElementRenderer.cs b/Xamarin.Forms.Platform.WP8/VisualElementRenderer.cs
index aca47d6a..93788adf 100644
--- a/Xamarin.Forms.Platform.WP8/VisualElementRenderer.cs
+++ b/Xamarin.Forms.Platform.WP8/VisualElementRenderer.cs
@@ -15,6 +15,8 @@ namespace Xamarin.Forms.Platform.WinPhone
VisualElementTracker _tracker;
+ IElementController ElementController => Element as IElementController;
+
public TNativeElement Control { get; private set; }
public TElement Element { get; private set; }
@@ -139,9 +141,9 @@ namespace Xamarin.Forms.Platform.WinPhone
Control.Arrange(new Rect(0, 0, finalSize.Width, finalSize.Height));
}
- for (var i = 0; i < Element.LogicalChildren.Count; i++)
+ for (var i = 0; i < ElementController.LogicalChildren.Count; i++)
{
- var child = Element.LogicalChildren[i] as VisualElement;
+ var child = ElementController.LogicalChildren[i] as VisualElement;
if (child == null)
continue;
IVisualElementRenderer renderer = Platform.GetRenderer(child);
@@ -164,9 +166,9 @@ namespace Xamarin.Forms.Platform.WinPhone
Element.IsInNativeLayout = true;
- for (var i = 0; i < Element.LogicalChildren.Count; i++)
+ for (var i = 0; i < ElementController.LogicalChildren.Count; i++)
{
- var child = Element.LogicalChildren[i] as VisualElement;
+ var child = ElementController.LogicalChildren[i] as VisualElement;
if (child == null)
continue;
IVisualElementRenderer renderer = Platform.GetRenderer(child);
@@ -227,12 +229,12 @@ namespace Xamarin.Forms.Platform.WinPhone
protected virtual void OnGotFocus(object sender, RoutedEventArgs args)
{
- ((IElementController)Element).SetValueFromRenderer(VisualElement.IsFocusedPropertyKey, true);
+ ElementController.SetValueFromRenderer(VisualElement.IsFocusedPropertyKey, true);
}
protected virtual void OnLostFocus(object sender, RoutedEventArgs args)
{
- ((IElementController)Element).SetValueFromRenderer(VisualElement.IsFocusedPropertyKey, false);
+ ElementController.SetValueFromRenderer(VisualElement.IsFocusedPropertyKey, false);
}
protected virtual void OnRegisterEffect(PlatformEffect effect)