Nic*_*ick 11 c# wpf button disabled-control
我只需要在Button未启用(IsEnabled == false)时更改背景(例如SolidColorBrush ).
我能怎么做?
我是否要Style使用XAML 修改Button ,还是可以通过编程方式执行此操作?什么是正确的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>
Run Code Online (Sandbox Code Playgroud)
您可以通过编辑模板来更改背景.你会在Button 这里找到默认模板.
在触发器中,IsEnabled您只需添加以下内容:
<Setter Property="Background" Value="{StaticResource DisabledBackgroundBrush}"/>
Run Code Online (Sandbox Code Playgroud)
编辑:然后尝试这个;
<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>
Run Code Online (Sandbox Code Playgroud)
只需更改它以满足您的需求.
Ech*_*lon -1
您可以使用样式触发器:
<Image.Style>
<Style>
<Style.Triggers>
<DataTrigger Binding="{Binding IsEnabled}" Value="False">
<Setter Property="Image.Source" Value="pack://application:,,,/disabled.png" />
</DataTrigger>
</Style.Triggers>
</Style>
</Image.Style>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11515 次 |
| 最近记录: |