图像上的“禁用”效果

本文关键字:效果 禁用 图像 | 更新日期: 2023-09-27 18:31:26

在 Win 表单中,当我禁用按钮时,它的图像背景会转换为灰度级图像。如何使用 XAML 代码在图像控件中模拟此效果?

图像上的“禁用”效果

您可以在按钮中设置图像的不透明度,如下所示:

<Button>
  <Image Source="button.png">
    <Image.Style>
      <Style TargetType="Image">
        <Style.Triggers>
          <Trigger Property="IsEnabled" Value="False">
            <Setter Property="Opacity" Value="0.4" />
          </Trigger>
        </Style.Triggers>
      </Style>
    </Image.Style>
  </Image>
</Button>

为了禁用 winform 样式,您应该执行以下操作

  <Button Click="Button_Click">
        <Image Width="154" Height="87" >
            <Image.Style>
                <Style TargetType="Image">
                    <Style.Triggers>
                        <Trigger Property="IsEnabled" Value="False">
                            <Setter Property="Source">
                                <Setter.Value>
                                    <FormatConvertedBitmap DestinationFormat="Gray32Float">
                                        <FormatConvertedBitmap.Source>
                                            <BitmapImage UriSource="1.png" />
                                        </FormatConvertedBitmap.Source>
                                    </FormatConvertedBitmap>
                                </Setter.Value>
                            </Setter>
                        </Trigger>
                        <Trigger Property="IsEnabled" Value="True">
                            <Setter Property="Source">
                                <Setter.Value>                                        
                                            <BitmapImage UriSource="1.png" />                                          
                                </Setter.Value>
                            </Setter>
                        </Trigger>                     
                    </Style.Triggers>                                          
                </Style>
            </Image.Style>
        </Image>
    </Button>

希望这个帮助

看看 greyableimage.codeplex.com

这可以用来代替按钮、菜单、工具栏等上的常规图像控件。它自动生成内容的"灰显"版本,该版本将在禁用父控件时显示。