summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBradChase2011 <brchase07@yahoo.com>2017-03-09 13:39:27 -0500
committerRui Marinho <me@ruimarinho.net>2017-03-09 18:39:27 +0000
commit87f0bfa2e1b89f2e8f2d53eb902ea5723dcabccf (patch)
tree33287943a0c8b2dfda1008c8f799f51240fa1fc9
parentb9b9d2536ff0cd6ae4526356d663706c721e481f (diff)
downloadxamarin-forms-87f0bfa2e1b89f2e8f2d53eb902ea5723dcabccf.tar.gz
xamarin-forms-87f0bfa2e1b89f2e8f2d53eb902ea5723dcabccf.tar.bz2
xamarin-forms-87f0bfa2e1b89f2e8f2d53eb902ea5723dcabccf.zip
Fixed a redundant check that caused a massive slowdown on UWP. (#788)
* Fixed a redundant check that caused a massive slowdown on UWP. * Fixed formatting. * Fixed formatting. * UWP_UI_Speed_Fix Last time on tabbing, lets hope so!
-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();