如何在WPF应用程序中设置按钮的背景图像?

时间:2018-01-26 17:56:57

标签: c# wpf

我在按钮的属性面板中找不到background-Image属性,我将我的解决方案的根目录中的每个按钮存储为Jpegs,项目是WPF,我不知道如何在XAML或C#代码中设置图像。我正在开发Visual Studio 2017社区版

我之前看到的所有问题都是针对不同版本的Visual Studio,所以我找不到答案

*编辑 - 我试图在设计时在XAML编辑器中更改按钮的背景图像,而不是创建一个onclick按钮来更改背景图像。所以如果我在XAML中有这个按钮:

<Button x:Name="keyBtn" 
        Content="Keyboard/Mouse" 
        HorizontalAlignment="Left" VerticalAlignment="Top" 
        Width="400" Height="800" FontFamily="Verdana"         
        Background="#FFB41717" 
        Margin="0,-31,0,0"/> 

我应该在“.background”属性中引用哪一部分?

1 个答案:

答案 0 :(得分:0)

这可能比你想象的要容易。
将图像添加到项目后尝试此操作。

.csv

请注意,您需要删除内容,因为现在图片就是内容。

如果你也想要文本 - 你可以试试这个:

<Button x:Name="keyBtn" 
        HorizontalAlignment="Left" VerticalAlignment="Top" 
        Width="400" Height="800" FontFamily="Verdana"         
        Background="#FFB41717" 
        Margin="0,-31,0,0"> 
        <Image Source="myImage.png" />
</Button>

还有另一种选择 - 可能正是您所寻找的:

<Button x:Name="keyBtn" 
        HorizontalAlignment="Left" VerticalAlignment="Top" 
        Width="400" Height="800" FontFamily="Verdana"         
        Background="#FFB41717" 
        Margin="0,-31,0,0">
        <Grid>
            <Image Source="myImage.png" Stretch="Fill" />
            <TextBlock VerticalAlignment="Center" HorizontalAlignment="Center" Text="Keyboard/Mouse" />
        </Grid>
</Button>

但在最后一个选项中 - 您必须删除<Button x:Name="keyBtn" Content="Keyboard/Mouse" HorizontalAlignment="Left" VerticalAlignment="Top" Width="400" Height="800" FontFamily="Verdana" Margin="0,-31,0,0"> <Button.Background> <ImageBrush ImageSource="myImage.png" Stretch="Fill" /> </Button.Background> </Button> 颜色,因为它被图像替换。