我正在开发一个应用程序,其中我必须将其中一个GradientStops设置为PhoneAccentColor StaticResource,并且我必须在代码(即C#)中执行此操作。
下面是我已经尝试过的:
GradientStop accentGS = new GradientStop();
accentGS.Color = (System.Windows.Media.Color)App.Current.Resources["PhoneAccentBrush"];
accentGS.Offset = .5;
lgbBlack.GradientStops.Add(accentGS);这里,lgbBlack是我要向其中添加此GradientStop的LinearGradientBrush。
这不会抛出任何错误,但当我运行应用程序时,抛出了一个'System.InvalidCastException‘,应用程序崩溃。
我在这里做错了什么?
发布于 2012-11-05 22:43:17
问题是PhoneAccentBrush资源是一个SolidColorBrush,而不是一个Color。
该代码应该可以工作:
GradientStop accentGS = new GradientStop();
SolidColorBrush c = (SolidColorBrush)App.Current.Resources["PhoneAccentBrush"];
accentGS.Color = c.Color;
accentGS.Offset = .5;
lgbBlack.GradientStops.Add(accentGS);https://stackoverflow.com/questions/13234204
复制相似问题