public void Set <T>(string key, T value)
        {
            var  actKey = key;           // GetTaggedKey(key);
            bool isNew  = true;

            if (SettingsData.ContainsKey(actKey))
            {
                var oldValue = SettingsData[actKey];
                if (oldValue != null)
                {
                    isNew = (!oldValue.Equals(value));
                }
                else
                {
                    isNew = (value != null);
                }
            }

            if (isNew)
            {
                RaisePropertyChanging(key);
                SettingsData[actKey] = value;
                RaisePropertyChanged(key);
            }
        }
        public void Remove(string key)
        {
            var actKey = key;             // GetTaggedKey(key);

            if (SettingsData.ContainsKey(actKey))
            {
                RaisePropertyChanging(key);
                SettingsData.Remove(actKey);
                RaisePropertyChanged(key);
            }
        }
        public T Get <T>(string key, T defaultValue = default(T))
        {
            var actKey = key;             // GetTaggedKey(key);

            if (SettingsData.ContainsKey(actKey))
            {
                return((T)settingsData_[actKey]);
            }
            else
            {
                return(defaultValue);
            }
        }
        public bool Exists(string key)
        {
            var actKey = key;            // GetTaggedKey(key);

            return(SettingsData.ContainsKey(actKey));
        }