我正在尝试使用本地资源将图标放置在按钮内。(C# Visual Studio 2012)
我的项目中直接有一个名为“Resources”的文件夹,其中包含“Icons/MyIcon.png”。
以下代码可行(但未使用相对路径)。
然后我找到一篇关于引用该项目的文章,上面写着要做以下操作:
发生了什么事?为什么它只能在运行之前找到资源,而我实际开始后却找不到?
我的项目中直接有一个名为“Resources”的文件夹,其中包含“Icons/MyIcon.png”。
以下代码可行(但未使用相对路径)。
<Button Width="20" Height="20">
<Button.Background>
<ImageBrush ImageSource="C:\Documents\MyProject\Resources\Icons\MyIcon.png">
</ImageBrush>
</Button.Background>
然而,我希望它使用相对路径...所以我尝试了以下内容
<ImageBrush ImageSource="..\MyProject\Resources\Icons\MyIcon.png">
代码编译成功,但是出现了以下错误:
{"Cannot locate resource 'myproject/resources/icons/myicon.png'."}
然后我找到一篇关于引用该项目的文章,上面写着要做以下操作:
"/[ assembly name ];component[ path within the project ]"
所以我尝试了这个:
<ImageBrush ImageSource="/MyProject;component\Resources\Icons\MyIcon.png">
但它无法工作。
在GUI生成器中可以看到,但当我实际尝试“调试”代码时,它无法运行。
如果我通过添加“123”来更改路径:
<ImageBrush ImageSource="/MyProject;component\Resources\Icons\MyIcon123.png">
我遇到了一个预编译错误:“找不到指定的文件”。 一旦我删除“123”,错误就消失了。表单中的图标再次显示。 但是当我运行时……我仍然会得到:
{"Cannot locate resource 'resources/icons/myicon.png'."}
发生了什么事?为什么它只能在运行之前找到资源,而我实际开始后却找不到?