【发布时间】:2015-02-26 23:05:19
【问题描述】:
我有一个根据环境状态显示不同背景图像的应用程序,该应用程序在用户登录时通过 Windows 注册表 (HKEY_CURRENT_USER) 启动。
用户登录后,应用程序启动但随后崩溃,抱怨图像的 Uri 无效。
值得注意的是,如果应用程序由用户手动启动(即双击)一切正常,并且相应的图像已成功加载。
图片配置为 Build Action = None,Copy to output directory= Copy if newer。
我的主窗口中的这个标记:
<Window.Background>
<ImageBrush x:Name="imgBackground" ></ImageBrush>
</Window.Background>
然后在codebehind中我要设置对应的图片:
imgBackground.ImageSource =
new BitmapImage(new Uri(@"Resources\Background.png",UriKind.RelativeOrAbsolute));
图像配置为 Build Action = None,Copy to output directory= Copy if newer。
【问题讨论】:
-
听起来像是在应用程序启动时设置的
CD(当前目录)有问题。您如何在用户登录时启动应用程序?开始菜单中的快捷方式还是什么?如果它是一个快捷方式,您可以通过将“Start In:”属性设置为指向您的应用程序目录来解决问题。 -
@LeandroTaset,应用程序加载是在用户登录时通过用户注册表配置的,由于未知原因,在这种情况下应用程序无法解析文件的路径。值得注意的是,如果应用程序是由用户手动启动(即双击),一切正常。