在不在浏览器中运行的Silverlight应用程序中,是否可以创建新的顶级窗口?或者至少是一个儿童窗口?
我使用ChildWindow
类找到了一些解决方案,但即使我的项目是针对Silverlight 4配置的,也无法找到该类。
我有一个UserControl
(XAML文件),我希望将其显示为一个新窗口。不幸的是,使用选项卡控件并不是一个选项,因为用户必须能够安排窗口才能同时查看多个窗口。
有什么建议吗?
答案 0 :(得分:2)
ChildWindow
是SDK的一部分,您需要添加System.Windows.Controls.dll才能访问ChildWindow
类型。
我不确定你能让ChildWindow做你想要的事。 ChildWindow旨在以模态方式呈现窗口。但是,这种模态行为实际上是ChildWindow模板的一个功能。可以重新模板以删除模态行为。但是我从未试图操纵多个子窗口。你可以试一试,如果你按照创建它们的不同顺序关闭子窗口会发生什么呢?
要使用ChildWindow
来展示您的UserControl
,最好是从ChildWindow
而不是UserControl
派生。您甚至可能会发现最好在您的特定Xaml和ChildWindow之间创建基类,在这里您可以放置所有窗口共有的代码。
我可能值得您注意,Silverlight 5将支持多个窗口。