WPF自定义组件和URI

时间:2011-12-13 13:29:44

标签: wpf image resources generic.xaml

我已经尝试了各种方法,使我的自定义控件能够理解URI包 - 无论是在generic.xaml还是代码中。我找到的所有示例在我的用户控件中都可以正常工作,但从不在自定义控件中工作。

所有文件都设置为Resource - 除了generic.xaml,如果我更改了自定义控件停止一起显示。

如果我尝试任何类型的包URI,我会在编译时遇到错误。相对或绝对,无关紧要。我也尝试将图像放在其他组件中,但没有运气。

如果我尝试New Uri("/Images/btnImage.PNG", UriKind.Relative),它会查找C:\Images\btnImage.PNG,这是错误的。我还尝试了Images/btnImage.PNG./Images/btnImage.PNG,但之后它会查找C:\MyProject\bin\Debug\Images\btnImage.PNG

我唯一能做的就是绝对绝对的URI - 即New Uri("C:/MyProject/Images/btnImage.PNG", UriKind.Absolute)

  1. 自定义控件是否仅了解文件系统绝对URI?
  2. If 1 = No Then Return correctAnswer(请)

2 个答案:

答案 0 :(得分:1)

我最终使用了包URI,但不是没有遇到一些障碍。

大多数示例都没有提及如果项目是类库,则不能使用“短版本”包URI来引用当前的assebles。

答案 1 :(得分:0)

如果您编写/Images/btnImage.PNG,则表示返回根目录并进入目录Images

您的意思应该是以太./Images/btnImage.PNGImages/btnImage.PNG,这意味着在子目录Images中查看此目录。

<强>更新 问题似乎是您的实际工作目录。您的程序在C:\MyProject\bin\Debug中执行,因此相对路径正确指向C:\MyProject\bin\Debug\Images\btnImage.PNG。尝试在调试时更改工作目录。