WPF XAML更改IMENABLED状态上的图像不透明度
-
14-10-2019 - |
题
当ISEnabled是错误时,我想让图像具有0.50的不透明度。我一直在研究多个示例,但我仍然无法掌握如何使它起作用。
这是我自定义控件的完整XAML。任何帮助将不胜感激。
<UserControl
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
x:Class="test.StopButtonControl"
x:Name="UserControl"
d:DesignWidth="85" d:DesignHeight="85">
<Grid x:Name="LayoutRoot">
<Image x:Name="StopButtonUI" Source="Images/stop.png" Stretch="Fill" MouseUp="StopButtonClick"/>
</Grid>
</UserControl>
解决方案
你可以夫妇 Image
' Opacity
财产到其 IsEnabled
通过样式触发的属性如下:
<Grid x:Name="LayoutRoot">
<Image x:Name="StopButtonUI" Source="Images/stop.png" >
<Image.Style>
<Style TargetType="Image">
<Style.Triggers>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="Opacity" Value="0.5" />
</Trigger>
</Style.Triggers>
</Style>
</Image.Style>
</Image>
</Grid>
这将设置 Opacity
到0.5何时 IsEnabled
是错误的。
这 Image
' IsEnabled
当属性将在 UserControl
有它的 IsEnabled
属性因属性继承而变化,即图像是用户控制的孩子 IsEnabled
属性也设置。
不隶属于 StackOverflow