0

私はこのXAML長方形を持っています-

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

3つのスライダーバーがあり、これらを使用して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;
}

なぜこれが起こらないのか、私はかなり迷っています。長方形を強制的に再描画する必要がありますか?もしそうなら、どうすればいいですか?それとも何か他の問題がありますか?

ありがとうございました !

(これはWindows8ストアプロジェクトであることに注意してください。以前はWPF/XAMLで作業したことがないため、これが適切かどうかはわかりません)。

4

1 に答える 1

2

デフォルトで0に設定されているアルファチャネルを設定していないので、色はそこにあり、透明です。

アルファチャンネル用に別のスライダーを追加するか、コードに以下を追加します。

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