使用表达式混合更改 IsEnabled 上的按钮背景
Change button Background on IsEnabled using expression blend
我想在 WPF 中更改按钮的背景颜色和路径的填充颜色。颜色值应根据按钮的 IsEnabled 属性.
的当前状态更新
(如果按钮被禁用,我想创建一个深灰色背景颜色,如果按钮被禁用,我想将路径的填充颜色更新为浅灰色,如果按钮被启用,背景和填充颜色应该是它们的颜色目前是)
我知道这可以通过一些转换器来完成....但我是否可以仅通过使用 Blend(状态和触发器)更轻松地做到这一点?如果可以,请告诉我怎么做?
我已经覆盖了默认样式并将背景颜色更改为DarkGray
你有没有问过使用触发器。其余的我使用 TemplateBinding
保持相同的按钮样式
<Button x:Name="Button1" Content="Login" HorizontalAlignment="Left" Height="31" Margin="10,41,0,-41" Grid.Row="1" VerticalAlignment="Top" Width="129" Click="Button_Click_1">
<Button.Style>
<Style TargetType="Button">
<Style.Triggers>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="OverridesDefaultStyle" Value="True" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Button}">
<Grid Background="{TemplateBinding Background}">
<ContentPresenter x:Name="MyContentPresenter"
Content="{TemplateBinding Content}"
HorizontalAlignment="Center"
VerticalAlignment="Center" />
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
<Setter Property="Background" Value="DarkGray"></Setter>
</Trigger>
<Trigger Property="IsEnabled" Value="True">
<Setter Property="Background" Value="#FFDDDDDD"></Setter>
</Trigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>
我想在 WPF 中更改按钮的背景颜色和路径的填充颜色。颜色值应根据按钮的 IsEnabled 属性.
的当前状态更新(如果按钮被禁用,我想创建一个深灰色背景颜色,如果按钮被禁用,我想将路径的填充颜色更新为浅灰色,如果按钮被启用,背景和填充颜色应该是它们的颜色目前是)
我知道这可以通过一些转换器来完成....但我是否可以仅通过使用 Blend(状态和触发器)更轻松地做到这一点?如果可以,请告诉我怎么做?
我已经覆盖了默认样式并将背景颜色更改为DarkGray
你有没有问过使用触发器。其余的我使用 TemplateBinding
<Button x:Name="Button1" Content="Login" HorizontalAlignment="Left" Height="31" Margin="10,41,0,-41" Grid.Row="1" VerticalAlignment="Top" Width="129" Click="Button_Click_1">
<Button.Style>
<Style TargetType="Button">
<Style.Triggers>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="OverridesDefaultStyle" Value="True" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Button}">
<Grid Background="{TemplateBinding Background}">
<ContentPresenter x:Name="MyContentPresenter"
Content="{TemplateBinding Content}"
HorizontalAlignment="Center"
VerticalAlignment="Center" />
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
<Setter Property="Background" Value="DarkGray"></Setter>
</Trigger>
<Trigger Property="IsEnabled" Value="True">
<Setter Property="Background" Value="#FFDDDDDD"></Setter>
</Trigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>