如何在xaml中设置按钮的背景颜色?
它不能比
困难得多<Button Margin="2" Background ="LightGreen" ....>
但是这不起作用......为了避免混淆,这里的按钮是System.Windows.Controls.Button
修改
我忘了提到我使用DevExpress的ThemeManager但是没想到会因为DevExpress会导致问题,他们没有标准的Windows按钮样式......显然他们这样做,但这基本上使得无法改变背景颜色没有一些主要工作的按钮...
答案 0 :(得分:5)
DevExpress提供了可应用于所有人的多个主题 DevExpress控件用于WPF和一些标准控件(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" ...>
答案 1 :(得分:2)
试试这个:
yourBtn.Background = new SolidColorBrush(Colors.Green);
或者在XAML中:
<Window.Resources>
<SolidColorBrush x:Key="BG" Color="Green"/>
</Window.Resources>
<Button Background="{DynamicResource BG}"></Button>
答案 2 :(得分:-1)
<Button Margin="2" Background="LightGreen"/>
有效。如果它对您不起作用,也许您有另一个style
或样式管理器在某处覆盖它。
其他信息 - 另一个答案显示了如何使用动态资源设置单个按钮的样式。要使用resourcedictionary为样式中的所有按钮设置背景颜色,可以使用以下内容:
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<!--background brush-->
<LinearGradientBrush x:Key="backgroundBrush" StartPoint="0.5,0" EndPoint="0.5,1">
<GradientStop Color="White" Offset="0.3"/>
<GradientStop Color="#DDDDFF" Offset="1"/>
</LinearGradientBrush>
<!--The style for buttons-->
<Style TargetType="Button">
<Setter Property="Background" Value="{StaticResource backgroundBrush}"/>
</Style>
</ResourceDictionary>