使用ImageBrush时无法找到路径的一部分

时间:2015-12-19 19:08:31

标签: wpf

如果我尝试运行我的“应用程序”,我会收到该错误。事实上,这是一个带背景的空窗口。

<Window x:Class="NWN_Tsuki.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="MainWindow" Height="831" Width="875">
<Window.Background>
    <ImageBrush Stretch="None" ImageSource="pack://siteoforigin:,,,/Resources/Book.png" />
</Window.Background>
<Grid/>
</Window>

这就是我的所有应用。我得到错误。如果我设置图像的绝对路径 - 一切正常。

我试图谷歌,我在这里搜索相同的主题,并试图做其他人的工作 - 没有进展。只有一个窗口。通过向导添加资源中的一个背景图像。

Visual Studio 2013,Windows 7 Ultimate x64

3 个答案:

答案 0 :(得分:2)

我没有尝试通过向导添加图像,我所做的是在我的项目中创建一个“Resources”文件夹。然后我在所述文件夹中添加图像。将图像的属性设置为“始终复制”或“如果新建复制”。然后做:

T

如果有的话,Book.png就不会被复制。

编辑:重要还要确保将Book.png的构建操作更改为资源

答案 1 :(得分:1)

我经历过这个。事实证明,.png已损坏。当我在文件资源管理器中导航到该文件夹​​时,我看到了以下内容

enter image description here

我认为mkelem与我们的源代码控制有关,所以可能是它损坏了它,无论如何,这就是为什么有些人可能会收到此错误消息。

答案 2 :(得分:0)

首先,我认为你可以写ImageSource =“Resources / Book.png”,它会起作用。

其次,如果你想要“pack://”,你可以写它ImageSource =“pack:// application :,,, / Resources / Book.png”

另一种方式 - ImageSource =“ProjectName; component / Resources / Book.png”,其中ProjectName是您保持图片的项目名称。 如果需要ImageSource =“pack:// application:,,, / ProjectName; component / Resources / Book.png”,你甚至可以连接所有这些