protected override DependencyObject CreateShell() { this.Container.GetInstance <IMessenger>().Register <bool>(this, "login", (result => { if (result) { var ret = formUIInst.Init(); ((Form)loginInst.GetInstance()).Hide(); ((Form)formUIInst.Instance).Show(); } })); this.Container.GetInstance <IMessenger>().Register <string>(this, "close", (result => { ((Form)loginInst.GetInstance()).Close(); })); formUIInst = Container.GetInstance <IUserUI>(Common.UserFrmTag); loginInst = this.Container.GetInstance <IUserLogin>(Common.UserLoginTag); return(new DependencyObject()); }