在 Win Forms 中,当我禁用一个按钮时,它的图像背景会转换为灰度图像。如何使用 XAML 代码在图像控件中模拟这种效果?
问问题
2249 次
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
这可以用来代替按钮、菜单、工具栏等上的常规图像控件。它会自动生成将在禁用父控件时显示的内容的“灰色”版本。
于 2013-09-15T18:50:37.017 回答