我正在尝试使用本地资源将图标放在按钮内。(C# 视觉工作室 2012)
直接在我的项目中,我有一个名为“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-Builder 中......但是当我真正尝试“调试”代码时......它无法运行。
如果我通过添加“123”来更改路径,例如:
<ImageBrush ImageSource="/MyProject;component\Resources\Icons\MyIcon123.png">
我收到预编译错误:“找不到指定的文件”。一旦我删除了“123”,错误就会消失。并且图标再次显示在表单中。但是当我跑步时......我仍然得到:
{"Cannot locate resource 'resources/icons/myicon.png'."}
到底是怎么回事?为什么它只能在运行之前找到资源?而不是我真正开始的时候?