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

本文关键字:任何 应用程序 项目 wpf 应用 程序状态 设置 | 更新日期: 2023-09-27 18:04:07

我想在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);

在这里我得到错误,而获得应用程序stat值

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

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

pid必须为字符串,否则将无法工作。正如Mapper所说,将GetValue主体更改为

return (T)_values[value];