diff options
author | Jimmy Garrido <jimmygarrido@outlook.com> | 2016-11-15 11:26:16 -0800 |
---|---|---|
committer | Jason Smith <jason.smith@xamarin.com> | 2016-11-15 11:26:16 -0800 |
commit | bdd14c5434a6eb1c528bb30f65c708bb349256a2 (patch) | |
tree | afee3444e2c0afefc61b7ef935c7c07d7fe727ff /Xamarin.Forms.Platform.WinRT | |
parent | d55799ce244229b8b42a9faae824dcaa907d1b99 (diff) | |
download | xamarin-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.cs | 20 |
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 } } |