嘿,我是WPF的新手,我需要更改WPF中矩形填充的颜色。
目前我有这个:
<Rectangle Fill="{Binding aColor}" RadiusY="5" RadiusX="5">
<Rectangle.Effect>
<DropShadowEffect ShadowDepth="0"/>
</Rectangle.Effect>
</Rectangle>
我不确定如何在代码中使用上面的绑定。
任何帮助都会很棒!
答案 0 :(得分:1)
Fill属性是Brush类型,所以你不能直接绑定颜色,
做这样的事,
<Rectangle Width="100"
Height="100">
<Rectangle.Fill>
<SolidColorBrush Color="{Binding color}"/>
</Rectangle.Fill>
</Rectangle>
另外,您可以实现Color-To-Brush转换器。像this
一样答案 1 :(得分:1)
知道了!
C#:
System.Drawing.Color c = ColorTranslator.FromHtml("#FFFFFF");
System.Windows.Media.Color color = System.Windows.Media.Color.FromRgb(c.R, c.G, c.B);
aColor.Color = color;
XAML:
<Rectangle RadiusY="5" RadiusX="5">
<Rectangle.Fill>
<SolidColorBrush x:Name="aColor"/>
</Rectangle.Fill>
<Rectangle.Effect>
<DropShadowEffect ShadowDepth="0"/>
</Rectangle.Effect>
</Rectangle>