以编程方式将FrameworkElement添加到Page

时间:2016-08-19 08:17:16

标签: c# xaml

在我的UWP应用程序中,我想创建一个可以打印的Page对象。目前,我所有的都是FrameworkElement(WebViewBrush)的列表。是否有某种方法可以创建一个Page,其唯一的功能是FrameworkElement?

我想的是:

Page newPage = new Page();
newPage.Add(frameworkElement);

这不起作用,但那是我正在寻找的那种东西。我无法在<{3}}上看到上的任何内容,但我可能正在寻找错误的内容......任何建议都表示赞赏,谢谢。

修改

https://msdn.microsoft.com/library/windows/apps/br227503

编辑2

enter image description here

1 个答案:

答案 0 :(得分:1)

Page只能包含一个孩子。如果您只想在FrameworkElement中显示一个Page,那么您可以执行以下操作:

newPage.Content = frameworkElement;

否则,您将需要创建一个可以包含多个子容器的容器:

StackPanel panel = new StackPanel();

panel.Children.Add(frameworkElement);
// Add your many other children.

newPage.Content = panel;

当然,您可以使用许多其他types of container

<强>更新

总结一下最终的解决方案。虽然它可能不太理想,但由于通过pageList进行克隆不是UWP中的一个选项,因此可以生成第二个VisualBrush。从理论上讲,刷子不应该很大,不应占用太多记忆。