Wpf 使用ImageBrush时找不到路径的一部分

Wpf 使用ImageBrush时找不到路径的一部分,wpf,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" Wi

如果我试图运行我的“应用程序”,我会得到那个错误。事实上,这是一个有背景的空窗口

<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首先,我认为您只需编写ImageSource=“Resources/Book.png”就可以了

其次,如果您想使用“pack://”,那么您应该将其写入ImageSource=“pack://应用程序:,,,/Resources/Book.png”

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

首先,我认为您只需编写ImageSource=“Resources/Book.png”就可以了

其次,如果您想使用“pack://”,那么您应该将其写入ImageSource=“pack://应用程序:,,,/Resources/Book.png”

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

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

<ImageBrush Stretch="None" ImageSource="../Resources/Book.png" />

如果有的话,Book.png就是没有被复制


编辑:重要还要确保将书更改。png的构建操作资源

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

<ImageBrush Stretch="None" ImageSource="../Resources/Book.png" />

如果有的话,Book.png就是没有被复制


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

我经历过这一点。结果是.png被破坏了。当我在文件资源管理器中导航到该文件夹时,我看到了以下内容


我认为mkelem与我们的源代码管理有关,所以可能是它破坏了它,不管怎样,这就是为什么有些人可能会收到这个错误消息

我经历过这一点。结果是.png被破坏了。当我在文件资源管理器中导航到该文件夹时,我看到了以下内容


我认为mkelem与我们的源代码管理有关,所以可能是它破坏了它,不管怎样,这就是为什么有些人可能会收到这个错误消息

ImageSource=“Resources/Book.png”相同错误;图像源=”pack://application:,,,/resources/Book.png“相同错误;ImageSource=“ProjectName;component/resources/Book.png”Blend不支持此文件格式。是的,我确定文件在ProjectName/Resources/也许我白白受苦?Im只需要一个单一的文件应用程序的结果和绝对路径图像仍将烘焙?刚刚接触WPF。@请确保此资源文件的属性中build action=resource.Hmm。图像源=”pack://application:,,,/resources/Book.png”-我这里有个打字错误。这不是资源,而是资源。它会产生同样的错误,也许你在某个地方也有输入错误?嗯,我不仅仅是复制粘贴=),是的,还是错误。在有类似问题的主题中,建议执行一些非科学的操作来重新命名文件,例如。。。对我没有帮助。还有人说这个错误是“假错误”,应用程序编译成功,即使使用它也能完美工作。但这让我很烦。可能是VS2013的bug还是什么?ImageSource=“Resources/Book.png”同样的错误;图像源=”pack://application:,,,/resources/Book.png“相同错误;ImageSource=“ProjectName;component/resources/Book.png”Blend不支持此文件格式。是的,我确定文件在ProjectName/Resources/也许我白白受苦?Im只需要一个单一的文件应用程序的结果和绝对路径图像仍将烘焙?刚刚接触WPF。@请确保此资源文件的属性中build action=resource.Hmm。图像源=”pack://application:,,,/resources/Book.png”-我这里有个打字错误。这不是资源,而是资源。它会产生同样的错误,也许你在某个地方也有输入错误?嗯,我不仅仅是复制粘贴=),是的,还是错误。在有类似问题的主题中,建议执行一些非科学的操作来重新命名文件,例如。。。对我没有帮助。还有人说这个错误是“假错误”,应用程序编译成功,即使使用它也能完美工作。但这让我很烦。可能是VS2013的错误还是什么?确切的错误文本是什么?是编译错误还是运行时错误?如果在属性窗口中更改Imagesource会发生什么情况?确切的错误文本是什么?是编译错误还是运行时错误?若在属性窗口中更改Imagesource会发生什么情况?答案已更新。我使用了一个图像而不是ImageBrush。我不知道为什么,但正如Sacha Barber所写,它们之间有区别。答案更新。我使用了一个图像而不是ImageBrush。我不知道为什么,但正如萨夏·巴伯(Sacha Barber)所写,它们之间有区别。