尝试在C#中设置xaml矩形的填充颜色,但更改未在运行时反映

时间:2012-12-16 02:49:53

标签: c# windows-8 winrt-xaml

我有这个XAML矩形 -

<Rectangle x:Name="rctRGB"
           HorizontalAlignment="Left"
           Margin="100,316,0,0"
           Stroke="Black"
           VerticalAlignment="Top" Height="100" Width="702"/>

我有三个滑杆,我试图分别使用它们来设置RGB值。此事件正确触发,但矩形只是不会改变颜色。

private void FillRectangle()
{
  Windows.UI.Color c = new Windows.UI.Color();
  c.R = Convert.ToByte(sldRed.Value);
  c.G = Convert.ToByte(sldGreen.Value);
  c.B = Convert.ToByte(sldBlue.Value);
  Brush b = new SolidColorBrush(c);
  rctRGB.Fill = b;
}

我很遗憾为什么没有发生这种情况;我是否必须强制矩形重绘?如果是这样,我该怎么做?或者是其他错误?

谢谢!

(注意,这是一个Windows 8商店项目;我不知道这是否相关,因为我以前没有在WPF / XAML中工作过。)

1 个答案:

答案 0 :(得分:2)

您尚未设置默认为0的Alpha通道,因此您的颜色就在那里,它只是透明的。

为Alpha通道添加另一个滑块,或者只需在代码中添加以下内容:

c.A = 255;