summaryrefslogtreecommitdiff
path: root/Xamarin.Forms.Platform.WinRT
diff options
context:
space:
mode:
authorJimmy Garrido <jimmygarrido@outlook.com>2016-11-15 11:26:16 -0800
committerJason Smith <jason.smith@xamarin.com>2016-11-15 11:26:16 -0800
commitbdd14c5434a6eb1c528bb30f65c708bb349256a2 (patch)
treeafee3444e2c0afefc61b7ef935c7c07d7fe727ff /Xamarin.Forms.Platform.WinRT
parentd55799ce244229b8b42a9faae824dcaa907d1b99 (diff)
downloadxamarin-forms-bdd14c5434a6eb1c528bb30f65c708bb349256a2.tar.gz
xamarin-forms-bdd14c5434a6eb1c528bb30f65c708bb349256a2.tar.bz2
xamarin-forms-bdd14c5434a6eb1c528bb30f65c708bb349256a2.zip
[WinRT] Setting ActivityIdicator color works now (#479)
Diffstat (limited to 'Xamarin.Forms.Platform.WinRT')
-rw-r--r--Xamarin.Forms.Platform.WinRT/ActivityIndicatorRenderer.cs20
1 files changed, 19 insertions, 1 deletions
diff --git a/Xamarin.Forms.Platform.WinRT/ActivityIndicatorRenderer.cs b/Xamarin.Forms.Platform.WinRT/ActivityIndicatorRenderer.cs
index 5c36afda..cfe91f64 100644
--- a/Xamarin.Forms.Platform.WinRT/ActivityIndicatorRenderer.cs
+++ b/Xamarin.Forms.Platform.WinRT/ActivityIndicatorRenderer.cs
@@ -1,4 +1,5 @@
-using System.ComponentModel;
+using System;
+using System.ComponentModel;
using Windows.UI.Xaml;
#if WINDOWS_UWP
@@ -11,6 +12,9 @@ namespace Xamarin.Forms.Platform.WinRT
{
public class ActivityIndicatorRenderer : ViewRenderer<ActivityIndicator, Windows.UI.Xaml.Controls.ProgressBar>
{
+#if !WINDOWS_UWP
+ Windows.UI.Xaml.Media.SolidColorBrush _resourceBrush;
+#endif
object _foregroundDefault;
protected override void OnElementChanged(ElementChangedEventArgs<ActivityIndicator> e)
@@ -43,20 +47,34 @@ namespace Xamarin.Forms.Platform.WinRT
void OnControlLoaded(object sender, RoutedEventArgs routedEventArgs)
{
+#if !WINDOWS_UWP
+ _resourceBrush = (Control.Resources["ProgressBarIndeterminateForegroundThemeBrush"] as Windows.UI.Xaml.Media.SolidColorBrush);
+ _foregroundDefault = _resourceBrush.Color;
+#else
_foregroundDefault = Control.GetForegroundCache();
+#endif
UpdateColor();
}
void UpdateColor()
{
Color color = Element.Color;
+
if (color.IsDefault)
{
+#if !WINDOWS_UWP
+ _resourceBrush.Color = (Windows.UI.Color) _foregroundDefault;
+#else
Control.RestoreForegroundCache(_foregroundDefault);
+#endif
}
else
{
+#if !WINDOWS_UWP
+ _resourceBrush.Color = color.ToWindowsColor();
+#else
Control.Foreground = color.ToBrush();
+#endif
}
}