带有图像的WPF按钮不会出现

时间:2012-06-06 02:55:13

标签: c# wpf image button

我正在使用我在几个小时前在一个问题上找到的以下代码来制作一个按钮有图像:

            <Button Name="bPlay" Height="70" Width="70" Margin="359,480,349,11">
            <Button.Template>
                <ControlTemplate>
                    <Border HorizontalAlignment="Center" VerticalAlignment="Center">
                        <Image Source="pack://siteoforigin:,,,/Resources/play.bmp" Width="70" Height="70" />
                    </Border>
                </ControlTemplate>
            </Button.Template>
        </Button>

问题是由于某些原因它在Visual Studio上看起来很好,但是当我运行程序时,这些按钮将不会出现。我找不到问题而且我有点陷入困境。图像play.bmp显然已添加到资源中,但我仍然不知道问题是什么,谢谢!

2 个答案:

答案 0 :(得分:6)

URI中的“siteoforigin”表示文件必须位于相对于正在执行的程序集的目录的给定路径中。您的可执行文件很可能位于bin / Debug文件夹中。它正在查看可执行文件的子目录,该子目录可能不存在(“bin / Debug / Resources / play.bmp”)。

如果要以这种方式链接到文件,则必须告诉Visual Studio将其复制到输出文件夹(从“属性”窗格中)。或者自己复制。

或者更好的是,您应该将其作为资源链接到它,它将嵌入到应用程序中。在属性窗格中将文件的构建类型设置为Resource,并使用项目文件夹中的相对路径链接到它。在这种情况下,在XAML中写下“Resources / play.bmp”。

答案 1 :(得分:0)

尝试简化代码,或者只是将图像拉出来,看看是否显示。

<Button Name="bPlay" Height="70" Width="70" Margin="359,480,349,11">
    <Image Source="pack://siteoforigin:,,,/Resources/play.bmp" Width="70" Height="70" />
</Button>

也应该有效