如何存储全球价值并进入wpf Prism

时间:2013-05-03 21:18:10

标签: c# wpf mvvm prism-4

在我的应用程序中,我在登录后使用prism在WPF中完成登录我必须存储一些可以访问may模块的值(如user_id,username等),以便如何使用prism解决该问题与MEF

   private void Login()
        {
            try
            {
                authentication.Login(LoginModel.UserName, LoginModel.Password);             
                // what i want to do here
                (new InventoryBootstrapper()).Run();                   
                App.Current.Windows[0].Close();
            }
            catch (Exception ex)
            {
                ErrorMessage = ex.Message;   
            }            
        }

2 个答案:

答案 0 :(得分:1)

我知道有两种方式。

首先,您可以拥有'通用'服务。将此作为服务使用,就像您注册的任何其他模块一样,它会在应用程序打开时实例化,然后您可以调用此服务并根据需要使用这些值。

其次,您还可以拥有每个模块引用的“通用”项目,从核心模块到所有模块。

答案 1 :(得分:0)

或者,使用容器来存储/检索值:

商店:

this.container.RegisterInstance<string>("NameOfValue", "abc123");

检索:

string nameOfValue = this.container.Resolve<string>("NameOfValue");

代码必须处理 nameOfValue 无法解析的情况,因此为 null。