我的理解是,当我设置SL5来运行OOB并提升信任时,我应该可以对本地系统上的任何目录/文件进行全面开放访问。如果外部系统将png图像文件放入用户的c:\ images文件夹,如何将各种png文件加载到XAML Image元素中?
此行有效:
image.UriSource = new Uri(value as string);
如果我将值设置为“http://blah.com/image1.png”这样的字符串
但如果我尝试将其设置为:
,则会失败ImageUrl = new Uri(@"C:\images\image3.png")
当它到达
时会被解析为类似“file:/// C:.....”的东西image.UriSource = new Uri(value as string);
线。
如何在运行OOB提升应用的系统上的任何本地路径中显示SL5中的png文件?
答案 0 :(得分:1)
如果您正确设置了提升的权限,那么这样的事情应该有效
var bmp = new BitmapImage();
var stream = new FileStream(@"c:\dir\folder\image.png", FileMode.Open);
bmp.SetSource(stream);
stream.Close();
如果你需要使用uri,这应该有效:
var bmp = new BitmapImage();
var uri = new Uri("c:/dir/folder/image.png");
bmp.UriSource = uri;
请注意,路径不同。 uri路径需要使用正斜杠。
然后,您可以将图像控件的来源设置为bmp
image.Source = bmp;
如果您收到“不允许文件操作”例外,则需要仔细检查是否在浏览器外设置中检查了提升权限
项目 - >属性 - > “超出浏览器设置”
选中'需要提升的信任......'