public void SwitchPage(T_StepDefine t_StepDefine) { Frame frame = null; if (FrameDict.ContainsKey(t_StepDefine.StepClass)) { frame = FrameDict[t_StepDefine.StepClass]; } if (frame == null) { StepViewMocel = null; switch (t_StepDefine.StepClass) { case TestStepEnum.LoadGel: case TestStepEnum.KaiKongGel: case TestStepEnum.JYJS: case TestStepEnum.ZKDLXJ: case TestStepEnum.XJPD: case TestStepEnum.ZKDCW: { break; } case TestStepEnum.FPSJ: { StepViewMocel = IoC.Get <FPSJViewModel>(); break; } case TestStepEnum.FPBRXQ: { StepViewMocel = IoC.Get <FPBRXQViewModel>(); break; } case TestStepEnum.FPBRXSHXB: case TestStepEnum.FPXXYXSHXB: { StepViewMocel = IoC.Get <FPBRXSHXBViewModel>(); break; } case TestStepEnum.FPXXYXQ: { StepViewMocel = IoC.Get <FPXXYXQViewModel>(); break; } case TestStepEnum.FPYT: { StepViewMocel = IoC.Get <FPYTViewModel>(); break; } case TestStepEnum.YS: { StepViewMocel = IoC.Get <YSViewModel>(); break; } case TestStepEnum.LXJDZ: { StepViewMocel = IoC.Get <LXJDZViewModel>(); break; } case TestStepEnum.ZKDFY: { StepViewMocel = IoC.Get <ZKDFYViewModel>(); break; } } if (StepViewMocel != null) { StepViewMocel.GetType().InvokeMember("StepParameter", System.Reflection.BindingFlags.SetProperty, null, StepViewMocel, new object[] { this.t_GSBackup.StepParamters }); var pv = viewManager.CreateViewForModel(StepViewMocel); pv.SetValue(System.Windows.Controls.Page.DataContextProperty, StepViewMocel); frame = new Frame(); frame.Content = pv; FrameDict.Add(t_StepDefine.StepClass, frame); } } EditStepView v = this.View as EditStepView; if (v != null) { v.ContentControl.Content = frame; } }