我希望将主题中的系统颜色作为Windows Phone中LinearGradientBrush
的一部分。而不是
<LinearGradientBrush x:Key="StandardGradientBackground" EndPoint="0.5,1" StartPoint="0.5,0.5">
<GradientStop Color="#FF660000" Offset="0"/>
<GradientStop Color="#FFff0033" Offset="1"/>
</LinearGradientBrush>
我想使用像
这样的东西<LinearGradientBrush x:Key="StandardGradientBackground" EndPoint="0.5,1" StartPoint="0.5,0.5">
<GradientStop Color="SystemColors.ActiveBorderColor" Offset="0"/>
<GradientStop Color="#FFff0033" Offset="1"/>
</LinearGradientBrush>
我尝试了不同的语法,并且还阅读this post,但"static is not supported in a Windows App Project"
正如Visual Studio所说。
我也尝试以编程方式实现相同的目标
LinearGradientBrush linearGradientBrush =
new LinearGradientBrush
{
StartPoint = new Point( 0.5, 0.5 ),
EndPoint = new Point( 0.5, 1 )
};
Color currentAccentColorHex = (Color)Current.Resources[ "PhoneAccentColor" ];
linearGradientBrush.GradientStops.Add( new GradientStop
{
Color = currentAccentColorHex,
Offset = 0
} );
linearGradientBrush.GradientStops.Add( new GradientStop
{
Color = Colors.Black,
Offset = 1
} );
一旦我到达我尝试访问的行(Application。)Current.Resources,我最终得到System.Exception
Catastrophic failure (Exception from HRESULT: 0x8000FFFF (E_UNEXPECTED))
。
有什么想法吗?
更新
我正在尝试在App.xaml
(分别为编程方法的App.xaml.cs
)文件中设置此项,以防万一这意味着要考虑任何特殊步骤。
答案 0 :(得分:1)
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0.5">
<GradientStop Color="{StaticResource SystemColorControlAccentColor}" Offset="0"/>
<GradientStop Color="#FFff0033" Offset="1"/>
</LinearGradientBrush>