c# – 如何在WPF中保存全局应用程序变量?
发布时间:2020-12-15 06:36:36 所属栏目:百科 来源:网络整理
导读:在 WPF中,在一个UserControl中我可以在哪里保存一个值,然后在另一个UserControl中再次访问该值,类似Web程序中的会话状态,例如: UserControl1.xaml.cs: Customer customer = new Customer(12334);ApplicationState.SetValue("currentCustomer",customer); /
在
WPF中,在一个UserControl中我可以在哪里保存一个值,然后在另一个UserControl中再次访问该值,类似Web程序中的会话状态,例如:
UserControl1.xaml.cs: Customer customer = new Customer(12334); ApplicationState.SetValue("currentCustomer",customer); //PSEUDO-CODE UserControl2.xaml.cs: Customer customer = ApplicationState.GetValue("currentCustomer") as Customer; //PSEUDO-CODE 回答: 谢谢,鲍勃,这里是我根据你的工作的代码: public static class ApplicationState { private static Dictionary<string,object> _values = new Dictionary<string,object>(); public static void SetValue(string key,object value) { if (_values.ContainsKey(key)) { _values.Remove(key); } _values.Add(key,value); } public static T GetValue<T>(string key) { if (_values.ContainsKey(key)) { return (T)_values[key]; } else { return default(T); } } } 要保存变量: ApplicationState.SetValue("currentCustomerName","Jim Smith"); 要读取变量: MainText.Text = ApplicationState.GetValue<string>("currentCustomerName"); 解决方法
这样的事情应该有效.
public static class ApplicationState { private static Dictionary<string,object>(); public static void SetValue(string key,object value) { _values.Add(key,value); } public static T GetValue<T>(string key) { return (T)_values[key]; } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |