【问题标题】:Background Image of Button not showing in WPF按钮的背景图像未显示在 WPF 中
【发布时间】:2013-02-11 22:06:24
【问题描述】:

我有一个程序,其中有很多按钮。每个按钮的背景设置为

  <Button x:Name="mybutton"  HorizontalAlignment="Left" Height="30" Margin="76,110,0,0" VerticalAlignment="Top" Width="25" Click="some_click">
                <Button.Background>
                    <ImageBrush ImageSource="Resource/button_picture.png"/>
                </Button.Background>
</Button>

当程序未运行时,图像在 .xaml 中显示为背景,但当我运行应用程序时,图像不作为按钮的背景。如何在按钮中调试此背景?那里有什么愚蠢的错误吗?

【问题讨论】:

  • 关于这个问题的结果有什么消息吗?
  • 这是我在代码本身发现的愚蠢错误
  • 你能告诉我更多,因为我现在遇到了完全相同的问题......
  • 我在窗口的加载事件中自己清除背景,所以无论我在xaml中输入什么,在C#中都会清楚

标签: wpf xaml


【解决方案1】:

让我们确保我们在您的场景中正确设置了以下属性

1) 构建动作 -> 资源

2) 复制到输出目录 -> 不要复制

3)不要使用图像源的相对路径,而是尝试像这样使用图像的完整路径(我这样说是因为我不知道图像资源在您的项目中的位置,使用相对路径是完美的在 WPF 中正常)

<Image Source="pack://application:,,,/AssemblyNameContainingImageResource;component/Resource/button_picture.png" />

【讨论】:

  • 第三条建议对我有帮助!!
【解决方案2】:

你需要像这样更改代码

<Button x:Name="mybutton"  HorizontalAlignment="Left" Height="30" Margin="76,110,0,0"    VerticalAlignment="Top" Width="25" Click="some_click">
    <Image Source="Resource/button_picture.png"/>
</Button>

【讨论】:

  • 这甚至会在应用程序未运行时将图像作为按钮背景删除,而在运行应用程序时它也不显示
【解决方案3】:

将 button_picture.png 的 Build Action 更改为 Resource 如果它是内容。还要检查复制到输出目录属性值

【讨论】:

  • 我无法重现它。您能否提供更多可能与此按钮相关的代码?
猜你喜欢
  • 2012-06-12
  • 1970-01-01
  • 1970-01-01
  • 2021-09-17
  • 1970-01-01
  • 2016-07-12
  • 1970-01-01
  • 2023-01-29
  • 2011-08-23
相关资源
最近更新 更多