是否有一种简单的方法可以在WPF中将Color
类型的对象作为CommandParameter
传递?
我有一个按钮列表,应该更改,例如我的应用程序的背景颜色。
按钮看起来像:
<Button Command={Binding SetBackgroundColor} CommandParameter={Color.Red} Background="Red" />
<Button Command={Binding SetBackgroundColor} CommandParameter={Color.Green} Background="Green" />
<Button Command={Binding SetBackgroundColor} CommandParameter={Color.White} Background="White" />
<Button Command={Binding SetBackgroundColor} CommandParameter={???} Background="#FF00FF" />
点击彩色按钮,颜色应该改变。
这方面的任何想法,模式,最佳实践,方法或解决方法?
答案 0 :(得分:3)
你可以写
<Button CommandParameter="{x:Static Colors.Red}" ... />
或
<Button ...>
<Button.CommandParameter>
<Color>#FF00FF</Color>
</Button.CommandParameter>
</Button>
或使用颜色资源:
<Window.Resources>
<Color x:Key="myColor">#FF00FF</Color>
...
</Window.Resources>
...
<Button CommandParameter="{StaticResource myColor}" ... />