Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用SolidColorBrush填充矩形无效_C#_Silverlight_Windows Phone 7 - Fatal编程技术网

C# 使用SolidColorBrush填充矩形无效

C# 使用SolidColorBrush填充矩形无效,c#,silverlight,windows-phone-7,C#,Silverlight,Windows Phone 7,我无法将SolidColorBrush指定给WP7中Rectangle对象的Fill属性 // sets the clock style (1-green, 2-blue, 3-red) private void SetClockStyle(Int32 style) { Color blue = new Color() { R = 0, G = 63, B = 216 }; Color green = new Color() { R = 79, G = 255, B = 0 };

我无法将
SolidColorBrush
指定给WP7中
Rectangle
对象的
Fill
属性

// sets the clock style (1-green, 2-blue, 3-red)
private void SetClockStyle(Int32 style)
{
    Color blue = new Color() { R = 0, G = 63, B = 216 };
    Color green = new Color() { R = 79, G = 255, B = 0 };
    Color red = new Color() { R = 255, G = 39, B = 0 };

    switch (style)
    {
        case 1:
            Fill(green);
            break;
        case 2:
            Fill(blue);
            break;
        case 3:
            Fill(red);
            break;
        default: 
            break;
    }
}

// sets a color
private void Fill(Color color)
{
    foreach (Rectangle rect in this.GetRectangles())
    {
        rect.Fill = new SolidColorBrush(color);
    }

    foreach (Rectangle rect in this.GetPoints())
    {
        rect.Fill = new SolidColorBrush(color);
    }
}
当我调用
SetClockStyle(2)
时,程序流程正常,执行正确的部分。但是矩形没有填充(显示网格的背景色)。我尝试设置
Fill.Opacity
属性,但没有改变任何东西。我看不出问题出在哪里。通过XAML设置
Fill
属性是可行的,但运行时的动态方法不可行


如何为
矩形
对象的
填充
属性指定特定颜色?

明白了。问题在于alpha通道的默认值,该值设置为透明。使用类似的方法(注意增加的A值):


现在alpha通道被设置为255,这意味着一种不透明的纯色。

Get矩形方法真的正确实现了吗?是的,默认情况下,在XAML中填充设置为白色,调用方法后填充为空而不是白色,因此Get矩形工作正常
Color red = new Color() { R = 255, G = 39, B = 0, A = 255 };