如何使用SimpleIoC限制视图实例(mvvm-light)

时间:2016-01-22 13:48:12

标签: c# mvvm-light infragistics

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

<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");
    }

在我的“OutputOnCLick”事件中,我测试是否已创建视图,如果没有,我继续并在infragistics窗格中加载视图。我这样做,所以我没有用户制作同一视图的多个窗格。

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

我的问题是:如何关闭窗格并重置视图?还是“解开”呢?有没有更好的方法来解决这个问题?

感谢

0 个答案:

没有答案