将未绑定的对象作为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" />

然后点击彩色按钮,颜色就会改变。

有什么想法、模式、最佳实践、如何操作或解决方法吗?

将未绑定的对象作为CommandParameter传递

您可以编写

<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}" ... />
相关文章:
  • 没有找到相关文章