将未绑定的对象作为CommandParameter

时间:2015-11-25 11:19:05

标签: c# .net wpf xaml

是否有一种简单的方法可以在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" />

点击彩色按钮,颜色应该改变。

这方面的任何想法,模式,最佳实践,方法或解决方法?

1 个答案:

答案 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}" ... />