将未绑定的对象作为CommandParameter传递
本文关键字:CommandParameter 传递 对象 绑定 | 更新日期: 2023-09-27 18:24:21
有没有一种简单的方法可以在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" />
然后点击彩色按钮,颜色就会改变。
有什么想法、模式、最佳实践、如何操作或解决方法吗?
您可以编写
<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}" ... />