C# 如何使用SimpleIoC(mvvm灯光)限制视图实例
我正在学习MVVM Light。我有一个使用Infragistics和MVVM Light的WPF MDI应用程序。我有一个XamRibbon和ButtonTool: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
<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事件的逻辑,视图无法恢复到窗格中
我的问题是:如何关闭窗格并重置视图?还是“取消创建”它?有没有更好的方法来处理这个问题
谢谢