private void OnPropertyChanged(object sender, PropertyChangedEventArgs args) { var key = args.PropertyName; if (!Settings.ContainsKey(key)) { Log($"Settings is not exists: {key}"); return; } var setting = Settings[key]; //if (!setting.IsValid()) //{ // Log($"Warning: {setting.Key}: {setting.Value} is not valid"); // //return; //} setting.Set(); }