c# - SL 5 脱离浏览器,提升信任度 - 从任何本地目录显示 PNG

标签 c# silverlight xaml silverlight-5.0

我的理解是,当我将 SL5 设置为运行 OOB 并提高信任度时,我应该可以广泛访问本地系统上的任何目录/文件。如果外部系统将 png 图像文件放入用户的 c:\images 文件夹中,我如何才能将各种 png 文件加载到 XAML 图像元素中?

这一行有效:

image.UriSource = new Uri(value as string);

如果我将值设置为像“http://blah.com/image1.png”这样的字符串

但如果我尝试将其设置为:

ImageUrl = new Uri(@"C:\images\image3.png")

当它到达

image.UriSource = new Uri(value as string);

行。

如何从运行 OOB 提升应用程序的系统上的任何本地路径在 SL5 中显示 png 文件?

最佳答案

如果您正确设置了提升的权限,这样的事情应该可以工作

  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;

如果您收到“不允许文件操作”异常,您需要仔细检查是否已在浏览器外设置中选中提升的权限

项目 -> 属性 -> '超出浏览器设置'

选中“需要更高的信任...”

关于c# - SL 5 脱离浏览器,提升信任度 - 从任何本地目录显示 PNG,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12171972/

相关文章:

c# - Silverlight C# 是否有将集合转换为文件以及相反的标准方法?

c# - 如何等待调用 Storyboard的任务

wpf - 标记 "xxx"在 XML 命名空间“yyy”中不存在/找不到引用

c# - 如何使用 C# 从二进制文件中读取浮点值?

c# - 动态使用运行时编译的程序集

c# - WPF WindowChrome : Edges of maximized Window are out of the screen

wcf - 这篇 MSDN 文章是否违反了 MVVM?

silverlight - 根据属性值更改 VisualState

c# - 我可以使用 REST API 检测 Smartsheet 中的单元格属性(例如颜色)吗

visual-studio-2010 - 如何在VS2010中为XAML禁用智能感知?