如何在应用程序状态中设置值并在wpf应用程序中使用项目中的任何位置

时间:2014-05-20 09:55:38

标签: c# .net wpf

我想在wpf中设置一个应用程序状态的值,并希望在整个应用程序中使用我想要的设置值。我正在使用下面的代码,但是我得到了以下错误 "字典中没有给定的密钥。"

public static class ApplicationState
    {
        private static Dictionary<string, object> _values =
                   new Dictionary<string, object>();

        public static void SetValue(string key, object value)
        {
            _values.Add(key, value);
        }

        public static T GetValue<T>(string value)
        {
            return (T)_values["value"];
        }
    }

这里我在应用程序状态中设置值

 ApplicationState.SetValue("ProjectID", pid);

这里我在获取应用程序统计值时遇到错误

  var id= ApplicationState.GetValue<string>("ProjectID");

1 个答案:

答案 0 :(得分:0)

pid必须是字符串否则它不会起作用。 正如Mapper所说,将GetValue体改为

return (T)_values[value];