Silverlight浏览器外应用程序中的新窗口

时间:2011-06-20 10:30:52

标签: silverlight silverlight-4.0 silverlight-oob

在不在浏览器中运行的Silverlight应用程序中,是否可以创建新的顶级窗口?或者至少是一个儿童窗口?

我使用ChildWindow类找到了一些解决方案,但即使我的项目是针对Silverlight 4配置的,也无法找到该类。

我有一个UserControl(XAML文件),我希望将其显示为一个新窗口。不幸的是,使用选项卡控件并不是一个选项,因为用户必须能够安排窗口才能同时查看多个窗口。

有什么建议吗?

1 个答案:

答案 0 :(得分:2)

ChildWindow是SDK的一部分,您需要添加System.Windows.Controls.dll才能访问ChildWindow类型。

我不确定你能让ChildWindow做你想要的事。 ChildWindow旨在以模态方式呈现窗口。但是,这种模态行为实际上是ChildWindow模板的一个功能。可以重新模板以删除模态行为。但是我从未试图操纵多个子窗口。你可以试一试,如果你按照创建它们的不同顺序关闭子窗口会发生什么呢?

要使用ChildWindow来展示您的UserControl,最好是从ChildWindow而不是UserControl派生。您甚至可能会发现最好在您的特定Xaml和ChildWindow之间创建基类,在这里您可以放置​​所有窗口共有的代码。

我可能值得您注意,Silverlight 5将支持多个窗口。