.net 在WPF中创建透明背景

.net 在WPF中创建透明背景,.net,wpf,vb.net,wpf-controls,.net,Wpf,Vb.net,Wpf Controls,我有一个背景图像为白色的按钮。我的按钮位于工具栏上,它的底色是蓝色。当按钮位于工具栏上时,按钮看起来是白色的,但是我希望它看起来像蓝色,因为工具栏的背景色是蓝色的 我应该如何在WPF中实现这一点。。请让我知道 您可以使用System.Windows.Media.Color透明,如下所示: <Button Background="Transparent" /> <Button> <Button.Background> <Linea

我有一个背景图像为白色的按钮。我的按钮位于工具栏上,它的底色是蓝色。当按钮位于工具栏上时,按钮看起来是白色的,但是我希望它看起来像蓝色,因为工具栏的背景色是蓝色的


我应该如何在WPF中实现这一点。。请让我知道

您可以使用
System.Windows.Media.Color
透明
,如下所示:

<Button Background="Transparent" />
<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>


您必须确保图像具有透明度,WPF不会试图确定图像中哪些部分应该透明,哪些部分应该不透明。检查您的图像编辑器是否可以导出具有透明度的图像,最有可能是PNG。

您确定要使用图像吗?如果图像只是一种纯色,那么最好将按钮的背景设置为白色并调整其不透明度。比如:

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

其中,不透明度可以是0和1之间的任何值

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

<Button Background="Transparent" />
<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>


最初你说你有一个“背景图像”,然后你问如何设置“背景色”。你有没有图像?我有背景图像。也编辑了上面的帖子。我试过了,但没用。。还有其他的机制吗?它帮助我解决了我的问题,使用画布在它后面画出“覆盖”的图像-所以谢谢:)你知道有任何免费的工具可以做到这一点吗?(例如,Paint等)@Vinjamuri-Paint.NET是免费的,可以创建png文件。