3

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

4

3 回答 3

3

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

<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>
于 2013-09-15T18:19:35.897 回答
3

为了禁用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>

希望这有帮助

于 2013-09-15T18:35:57.777 回答
2

看看grayableimage.codeplex.com

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

于 2013-09-15T18:50:37.017 回答