summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Xamarin.Forms.Core/VisualElement.cs3
-rw-r--r--Xamarin.Forms.Platform.WP8/VisualElementTracker.cs1
-rw-r--r--Xamarin.Forms.Platform.WinRT/VisualElementTracker.cs1
3 files changed, 3 insertions, 2 deletions
diff --git a/Xamarin.Forms.Core/VisualElement.cs b/Xamarin.Forms.Core/VisualElement.cs
index 476a0570..905771cd 100644
--- a/Xamarin.Forms.Core/VisualElement.cs
+++ b/Xamarin.Forms.Core/VisualElement.cs
@@ -337,12 +337,11 @@ namespace Xamarin.Forms
return true;
Element parent = RealParent;
- while (parent != null)
+ if (parent != null)
{
var visualElement = parent as VisualElement;
if (visualElement != null && visualElement.IsInNativeLayout)
return true;
- parent = parent.RealParent;
}
return false;
diff --git a/Xamarin.Forms.Platform.WP8/VisualElementTracker.cs b/Xamarin.Forms.Platform.WP8/VisualElementTracker.cs
index b206af58..509ffd44 100644
--- a/Xamarin.Forms.Platform.WP8/VisualElementTracker.cs
+++ b/Xamarin.Forms.Platform.WP8/VisualElementTracker.cs
@@ -275,6 +275,7 @@ namespace Xamarin.Forms.Platform.WinPhone
{
if (Model.IsInNativeLayout)
return;
+
var parent = (FrameworkElement)Element.Parent;
parent?.InvalidateMeasure();
Element.InvalidateMeasure();
diff --git a/Xamarin.Forms.Platform.WinRT/VisualElementTracker.cs b/Xamarin.Forms.Platform.WinRT/VisualElementTracker.cs
index e8684ff4..a29d61ad 100644
--- a/Xamarin.Forms.Platform.WinRT/VisualElementTracker.cs
+++ b/Xamarin.Forms.Platform.WinRT/VisualElementTracker.cs
@@ -275,6 +275,7 @@ namespace Xamarin.Forms.Platform.WinRT
{
if (Element.IsInNativeLayout)
return;
+
var parent = (FrameworkElement)Container.Parent;
parent?.InvalidateMeasure();
Container.InvalidateMeasure();