0
我正在学习不同的棱镜功能,现在我卡在打开新窗口。 我的应用程序Shell具有主区域和明细区域。 壳牌的主区域具有DataGrid,其中的项目在单击时显示其在Detail区域中的属性。 我需要的是一种通过双击主区域中的项目来创建窗口的新实例的方法。 每个新窗口都可以保持活动状态,直到关闭它为止,这样我可以通过单击主区域中的任何其他项目打开其他窗口。棱镜Mvvm Mef交互性打开窗口新实例
在预MVVM棱柱时候,我可能会做这样的事情:
ICollection<Window> MyWindows = new List<Window>();
var wnd = MyWindows.SingleOrDefault(x => x.Name == id.ToString());
if (wnd == null)
{
wnd = new MyWindow(this, id);
MyWindows.Add(wnd);
}
wnd.Show();
但是,这是一个没有去从壳牌的视图模型和棱镜...
曾使用类似InteractionRequestTrigger从我的外壳xaml:
<prism:InteractionRequestTrigger SourceObject="{Binding CyberPopUpViewRequest, Mode=OneWay}">
<prism:PopupWindowAction>
<prism:PopupWindowAction.WindowContent>
<views:CyberPopUpView />
</prism:PopupWindowAction.WindowContent>
</prism:PopupWindowAction>
</prism:InteractionRequestTrigger>
但是,这使我只能创建单个窗口。
感谢,将检查了这一点,因为我没想到的将窗口创建投入使用。是否有可能在新窗口的新布局中定义新的棱镜区域? – VladacusB
我从来没有尝试过,但它可能工作,我想。 – Haukinger