C# 如何使用SimpleIoC(mvvm灯光)限制视图实例

C# 如何使用SimpleIoC(mvvm灯光)限制视图实例,c#,mvvm-light,infragistics,C#,Mvvm Light,Infragistics,我正在学习MVVM Light。我有一个使用Infragistics和MVVM Light的WPF MDI应用程序。我有一个XamRibbon和ButtonTool: <igRibbon:ButtonTool Caption="Output Admin" igRibbon:RibbonGroup.MaximumSize="ImageAndTextLarge" LargeImage="Images/calc

我正在学习MVVM Light。我有一个使用Infragistics和MVVM Light的WPF MDI应用程序。我有一个XamRibbon和ButtonTool:

<igRibbon:ButtonTool Caption="Output Admin" 
                     igRibbon:RibbonGroup.MaximumSize="ImageAndTextLarge"
                     LargeImage="Images/calculate_32x32.png"
                     Click="OutputOnClick"/>

代码隐藏:

    private void LoadWinContent(Window win, string paneMsg)
    {
        var sp = new SplitPane();
        var pane = new ContentPane
        {
            Header = paneMsg,
            Content = win.Content
        };
        sp.Panes.Add(pane);
        dockManager.Panes.Add(sp);
    }

    private void OutputOnClick(object sender, RoutedEventArgs e)
    {
       if (!SimpleIoc.Default.ContainsCreated<OutputAdminViewModel>())
            LoadWinContent(new OutputAdmin(), "Test Output");
    }
private void LoadWinContent(窗口赢,字符串paneMsg)
{
var sp=新的拆分窗格();
var pane=newcontentpane
{
标题=paneMsg,
Content=win.Content
};
sp.Panes.Add(窗格);
dockManager.Panes.Add(sp);
}
private void OutputOnClick(对象发送方,路由目标)
{
如果(!SimpleIoc.Default.ContainsCreated())
LoadWinContent(新的OutputAdmin(),“测试输出”);
}
在我的“OutputOnCLick”事件中,我测试视图是否已创建,如果未创建,则继续在Infrastics窗格中加载视图。我这样做是为了不让用户对同一视图制作多个窗格

当我关闭窗格,然后单击OutputAdmin按钮时,由于OnClick事件的逻辑,视图无法恢复到窗格中

我的问题是:如何关闭窗格并重置视图?还是“取消创建”它?有没有更好的方法来处理这个问题

谢谢