0

我有这个 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 中工作过)。

4

1 回答 1

2

您还没有设置默认为 0 的 alpha 通道,所以您的颜色就在那里,它只是透明的。

为 Alpha 通道添加另一个滑块,或者将以下内容添加到您的代码中:

c.A = 255;
于 2012-12-16T05:34:31.320 回答