我想为多边形着色......
这是我的Compass.xaml中的Polygon:
<Polygon x:Name="arrow" Points="5, 90 35, 90 35, 160 65, 160 65, 90 95, 90 50, 5" Stroke="Black" StrokeThickness="4" Fill="White" Margin="42,32,184,0" Grid.Column="1" Grid.ColumnSpan="2" Height="163" VerticalAlignment="Top">
<Polygon.RenderTransform>
<RotateTransform x:Name="rotateArrow" Angle="0" CenterX="50" CenterY="160" />
</Polygon.RenderTransform>
</Polygon>
这是我从中获取颜色的地方:
Channel lbi = (Channel) GlobalVariables.ChannelList[Channelindex];
lbi.Color => "0xED1C24"
现在我必须使用此颜色填充此Polygon ...
我试着用
做arrow.fill('blue');
(只是随机颜色试试它是否可行。)但它没有用......
有人可以帮帮我吗?
编辑:
好的,现在有效。
string[] colorsplit = currentChannel.Color.Split('x');
arrow.Fill = GetColorFromHexa("#FF"+colorsplit[1]);
问题是我不知道我必须把#FF放在字符串前面。
答案 0 :(得分:2)
怎么样?
arrow.Fill = new SolidColorBrush(Colors.Blue);
答案 1 :(得分:2)
C#?
arrow.Fill = new SolidColorBrush(System.Windows.Media.Colors.Blue);