如何在WPF中设置按钮的背景颜色?

Mat*_*olf 3 c# wpf xaml devexpress

如何在xaml中设置按钮的背景颜色?

它不会比这更难

<Button Margin="2" Background ="LightGreen" ....>
Run Code Online (Sandbox Code Playgroud)

但这不起作用......为了避免混淆,这里的按钮是 System.Windows.Controls.Button

编辑

我忘了提到我使用DevExpress的ThemeManager但不认为会导致问题,因为DevExpress他们没有设计标准的Windows按钮...显然他们这样做,这基本上使得无法改变按钮的背景颜色没有一些重要的工作......

nem*_*Bu4 6

根据文件:

DevExpress提供了多个主题,可应用于WPF的所有DevExpress控件和一些标准控件(GroupBox,ScrollViewer,Scroll,RadoiButton,Button,ListBox,Slider,TabControl,Separator,ToggleButton,RepeatButton,Label,ListBoxItem,TabItem,ToolTip等).

如您所见,Button此处列出了控件.但是在文档中,据说可以通过设置ThemeName属性来禁用个别控件的主题None.因此,您可以禁用按钮或其某些父容器的主题并使用您自己的样式.
这是一个例子:

<Button Margin="2" Background="LightGreen" dx:ThemeManager.ThemeName="None" ...>
Run Code Online (Sandbox Code Playgroud)

  • 通过对实际文档的快速浏览可以产生惊人的效果,您刚刚解决了我的问题.我甚至没有检查过,因为DevExpress在支持论坛上自己的工作人员坚持认为这是不可能完成的.非常感谢你.快速清洁的解决方案. (2认同)

Sal*_*ari 5

尝试这个:

yourBtn.Background = new SolidColorBrush(Colors.Green);
Run Code Online (Sandbox Code Playgroud)

或者在 XAML 中:

<Window.Resources>
   <SolidColorBrush x:Key="BG" Color="Green"/>
</Window.Resources>

<Button Background="{DynamicResource BG}"></Button>
Run Code Online (Sandbox Code Playgroud)