我需要改变我的Button
仅当未启用背景(例如 SolidColorBrush)时(IsEnabled == false
).
我能怎么做?
我要修改按钮吗Style
使用 XAML 或者我可以通过编程方式完成这项工作吗?在未启用背景时仅更改背景的正确 XAML 代码是什么?
我尝试了以下 XAML 代码,但没有效果:
<Button>
<Button.Style>
<Style TargetType="Button">
<Style.Triggers>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="Background" Value="Red"></Setter>
</Trigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>
您可以通过编辑模板来更改背景。您将找到默认模板Button
here http://msdn.microsoft.com/en-us/library/ms753328%28v=vs.85%29.aspx.
在触发器中IsEnabled
你可以简单地添加这样的东西:
<Setter Property="Background" Value="{StaticResource DisabledBackgroundBrush}"/>
EDIT:
那就试试这个吧;
<Window.Resources>
<Style TargetType="{x:Type Button}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Border x:Name="Overlay" CornerRadius="2">
<ContentPresenter/>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsEnabled" Value="false">
<Setter TargetName="Overlay" Property="Background" Value="Red"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Window.Resources>
<StackPanel>
<Button Content="Button" IsEnabled="False"/>
</StackPanel>
只需更改它以满足您的需求即可。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)