如何在 Windows Phone 8.1 中使用渐变系统颜色?
How can I use a system color for gradients in Windows Phone 8.1?
我想要一个主题的系统颜色作为 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
} );
一旦我到达尝试访问(应用程序。)Current.Resources 的那一行,我最终得到 System.Exception
和 Catastrophic failure (Exception from HRESULT: 0x8000FFFF (E_UNEXPECTED))
。
有什么想法吗?
更新
我正在尝试在 App.xaml
(对于编程方法分别为 App.xaml.cs
)文件中进行设置,以防万一这意味着要考虑任何特殊步骤。
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0.5">
<GradientStop Color="{StaticResource SystemColorControlAccentColor}" Offset="0"/>
<GradientStop Color="#FFff0033" Offset="1"/>
</LinearGradientBrush>
我想要一个主题的系统颜色作为 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
} );
一旦我到达尝试访问(应用程序。)Current.Resources 的那一行,我最终得到 System.Exception
和 Catastrophic failure (Exception from HRESULT: 0x8000FFFF (E_UNEXPECTED))
。
有什么想法吗?
更新
我正在尝试在 App.xaml
(对于编程方法分别为 App.xaml.cs
)文件中进行设置,以防万一这意味着要考虑任何特殊步骤。
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0.5">
<GradientStop Color="{StaticResource SystemColorControlAccentColor}" Offset="0"/>
<GradientStop Color="#FFff0033" Offset="1"/>
</LinearGradientBrush>