Xaml 将系统颜色附着到LinearGradientBrush
在我的应用程序中,我想创建一条带有系统颜色的渐变线,我尝试这样做:Xaml 将系统颜色附着到LinearGradientBrush,xaml,windows-phone-8,windows-phone,gradient,lineargradientbrush,Xaml,Windows Phone 8,Windows Phone,Gradient,Lineargradientbrush,在我的应用程序中,我想创建一条带有系统颜色的渐变线,我尝试这样做: <UserControl.Resources> <Style x:Key="Divider" TargetType="Rectangle"> <Setter Property="Height" Value="2" /> <Setter Property="Fill"> <Setter.Value>
<UserControl.Resources>
<Style x:Key="Divider" TargetType="Rectangle">
<Setter Property="Height" Value="2" />
<Setter Property="Fill">
<Setter.Value>
<LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
<GradientStop Color="{StaticResource PhoneChromeBrush}" Offset="0.0" />
<GradientStop Color="{StaticResource PhoneInverseBackgroundBrush}" Offset="1.0" />
</LinearGradientBrush>
</Setter.Value>
</Setter>
</Style>
</UserControl.Resources>
我该怎么做才能解决这个问题?我不确定,但您可能正在将静态颜色设置为画笔。很难说,因为您从未将代码发布到“PhoneChromeBrush”或“PhoneInverseBackgroundBrush”的静态资源中。但是,您正在使用这些设置渐变停止,如果它们本身就是渐变,则可能会破坏您的代码。通常你会为渐变保留“笔刷”,所以我不确定: 你能不能做点像:
<UserControl.Resources>
<LinearGradientBrush x:Key="MoneyBrush" EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#3A883A" Offset="1" />
<GradientStop Color="#FFFFFF" Offset="0" />
<GradientStop Color="#FF53AA75" Offset="0.50" />
<GradientStop Color="#073307" Offset="0.95" />
</LinearGradientBrush>
<Style x:Key="Divider" TargetType="Rectangle">
<Setter Property="Height" Value="2" />
<Setter Property="Fill" Value="{StaticResource MoneyBrush}"/>
</Style>
</UserControl.Resources>
GradientStop.Color
需要颜色,而不是画笔。使用PhoneChromeColor
和PhoneInverseBackgroundColor
:
<UserControl.Resources>
<Style x:Key="Divider" TargetType="Rectangle">
<Setter Property="Height" Value="2" />
<Setter Property="Fill">
<Setter.Value>
<LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
<GradientStop Color="{StaticResource PhoneChromeColor}" Offset="0.0" />
<GradientStop Color="{StaticResource PhoneInverseBackgroundColor}" Offset="1.0" />
</LinearGradientBrush>
</Setter.Value>
</Setter>
</Style>
</UserControl.Resources>
PhoneChromeBrush
和PhoneInverseBackgroundBrush
在wp8应用程序中预定义,它们不是渐变而是纯色笔刷。
<UserControl.Resources>
<Style x:Key="Divider" TargetType="Rectangle">
<Setter Property="Height" Value="2" />
<Setter Property="Fill">
<Setter.Value>
<LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
<GradientStop Color="{StaticResource PhoneChromeColor}" Offset="0.0" />
<GradientStop Color="{StaticResource PhoneInverseBackgroundColor}" Offset="1.0" />
</LinearGradientBrush>
</Setter.Value>
</Setter>
</Style>
</UserControl.Resources>