SolidColorBrush在运行时更改颜色

时间:2011-06-07 14:22:37

标签: wpf xaml c#-4.0

我在我的应用程序资源文件中刷了:

<SolidColorBrush x:Key="MainColor" Color="#FF15428B" /> 

我想在运行时更改此画笔的颜色。我添加了颜色选择器 - 当用户选择颜色时,我希望这个画笔具有选定的颜色。

我尝试过这样的代码:

SolidColorBrush MainColor = new SolidColorBrush(SelectedColor);

但它没有用。

3 个答案:

答案 0 :(得分:8)

您需要设置现有画笔的Color属性。

您可以通过撰写(SolidColorBrush)Resources["MainColor"]

来获取该实例

答案 1 :(得分:2)

您可以使用TryFindResource方法从代码隐藏中访问资源:

SolidColorBrush myBrush = (SolidColorBrush)this.TryFindResource("myBrush");

if (myBrush != null)
{
    myBrush.Color = Colors.Yellow  ;
}

答案 2 :(得分:2)

MainColor = new SolidColorBrush(Color.FromArgb(
    SelectedColor.A, SelectedColor.R, SelectedColor.G, SelectedColor.B
));