C# 多边形着色

C# 多边形着色,c#,windows-phone-7,xaml,colors,polygon,C#,Windows Phone 7,Xaml,Colors,Polygon,我想给多边形上色 这是my Compass.xaml中的多边形: <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" VerticalAlign

我想给多边形上色

这是my Compass.xaml中的多边形:

<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>
现在我要用这个颜色填充这个多边形

我试着用它来做

arrow.fill('blue'); 
(只是随机选择颜色来测试它是否有效。)但它不起作用

有人能帮我吗

编辑:

好的,现在可以了

string[] colorsplit = currentChannel.Color.Split('x');
arrow.Fill = GetColorFromHexa("#FF"+colorsplit[1]);
问题是我不知道我必须把FF放在字符串前面。

那怎么办

arrow.Fill = new SolidColorBrush(Colors.Blue);

怎么样

arrow.Fill = new SolidColorBrush(Colors.Blue);

C#

C#


基于以下内容::您可以使用arrow.Fill=GetColorFromHexa(“#FFED1C24”);我不确定我得到的颜色是否是六色。。。这真的不起作用。如果你不确定你得到的是一种颜色,那么你为什么要用它填充多边形?你理解错了:)我不确定它的格式是否是六边形。但看起来是这样:)我会试试保罗的答案。不确定是不是你:)基于以下::你可以使用arrow.Fill=GetColorFromHexa(“#FFED1C24”);我不确定我得到的颜色是否是六色。。。这真的不起作用。如果你不确定你得到的是一种颜色,那么你为什么要用它填充多边形?你理解错了:)我不确定它的格式是否是六边形。但看起来是这样:)我会试试保罗的答案。不确定是否是您:)这可以工作,但正如我所说,我需要使用颜色信息:“0x945316”arrow.Fill=new SolidColorBrush(System.Windows.Media.color.FromRgb(0x94,0x53,0x16));当我这样做的时候,它只会变成黑色。。不管我采用哪种类型的值…Alpha必须是255,否则它将是透明的。但正如我所说,我需要使用颜色信息:“0x945316”arrow.Fill=new SolidColorBrush(System.Windows.Media.color.FromRgb(0x94,0x53,0x16));当我这样做的时候,它只会变成黑色。。不管我取什么样的值…Alpha必须是255,否则它将是透明的
arrow.Fill = new SolidColorBrush(System.Windows.Media.Colors.Blue);