在WPF中创建透明背景

4

我有一个按钮,其背景图像为白色。我的按钮坐落在具有蓝色背景颜色的工具栏上。当按钮坐落在工具栏上时,按钮看起来是白色的,然而我希望它看起来像蓝色,因为工具栏的背景颜色是蓝色。

我该如何在WPF中实现这一点.. 请告知我。


1
最初你说你有一个“背景图像”,然后你问如何设置“背景颜色”。你有图片还是没有? - Daniel
我有背景图片。同时我也编辑了上面的帖子。 - codematrix
3个回答

7

你确定要使用图片吗?如果这张图片只是一个纯色的图案,那么最好将按钮的背景设置为白色并调整其不透明度。例如:

<Button Background="White" Opacity="0.5" />

不透明度可以是0到1之间的任何值。

编辑:我不确定你所说的“阴影”是什么意思。您是否知道可以将按钮的背景设置为渐变?您可能需要更改颜色,但它看起来会像这样:

<Button>
    <Button.Background>
        <LinearGradientBrush>
            <GradientStop Color="Yellow" Offset="0.0" />
            <GradientStop Color="Orange" Offset="0.5" />
            <GradientStop Color="Red" Offset="1.0" />
         </LinearGradientBrush>
    <Button.Background>
</Button>

3
您可以使用 System.Windows.Media.ColorTransparent 属性,如下所示:
<Button Background="Transparent" />

我尝试了这个,但没有帮助。还有其他的机制吗? - codematrix
它帮助我解决了问题,使用Canvas在其后面绘制图像 - 所以谢谢 :) - Shefy Gur-ary

2

您需要确保图片具有透明度,WPF不会试图弄清楚您的图片哪些部分应该是透明的,哪些部分应该是不透明的。请检查您的图片编辑器是否可以导出带有透明度的图片,最好选择PNG格式。


你知道有没有任何免费的工具可以做到这一点吗?(例如,画图等) - codematrix
2
@Vinjamuri - Paint.NET是免费的,可以创建PNG文件。http://www.getpaint.net/ - ChrisF

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接