从BitmapCache WinRT中提取图像

时间:2013-11-15 23:13:55

标签: c# xaml tabs windows-runtime appbar

我有一个Windows应用程序的应用程序,我需要模拟像Internet Explorer这样的选项卡。问题是我有一个控件,它不会加载到AppBar和主视图中。

有没有办法在控件的构造函数中设置CacheMode,然后从BitmapCache中拉出一个位图并将其加载到AppBar的选项卡视图中?或者我是以错误的方式解决这个问题。我不想使用两个不同的控件,因为它是一个黑客,我希望它与一个控件一起使用。

我正在用C#和XAML编写这个应用程序。

感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

一个控件在所有流行的XAML技术中只能有一个父级,所以你不能把它放在两个地方。

您可以使用RenderTargetBitmap截取控件的屏幕截图并将其放在布局的其他位置,但是存在很多问题

  1. 它使用额外的内存来存储位图
  2. 您需要确定何时拍摄该屏幕截图 - 通常在所有图片加载后以及每次布局或内容更新后。
  3. 位图不是交互式的。
  4. 你最好的选择可能是拥有相同控件的两个副本。您可以创建UserControl来封装任何功能和属性,并轻松地在多个位置重用该控件。如果您通过URI引用图像 - 平台应自动共享多个控件中使用的图像的资源。