public SettingsWindow(Configuration currentConfig) { Config = CloneUtils.DeepCopy(currentConfig); Config.StartTrackingChanges(); InitializeComponent(); DataContext = Config; if (currentConfig.PromptForFileName) { promptFileNameRadioButton.IsChecked = true; } else { generateFileNameRadioButton.IsChecked = true; } _presetValues = LAMEPresetWrapper.GetPresetValues(); _abrValues = LAMEPresetWrapper.GetAbrValues(); _vbrValues = LAMEPresetWrapper.GetVbrValues(); if (_presetValues.Any(x => x.LamePreset == Config.MP3EncodingPreset)) { Config.MP3EncodingPresets = _presetValues; presetBitrateRadioButton.IsChecked = true; } else if (_abrValues.Any(x => x.LamePreset == Config.MP3EncodingPreset)) { Config.MP3EncodingPresets = _abrValues; averageBitRateRadioButton.IsChecked = true; } else if (_vbrValues.Any(x => x.LamePreset == Config.MP3EncodingPreset)) { Config.MP3EncodingPresets = _vbrValues; variableBitRateRadioButton.IsChecked = true; } foreach (KeyValuePair <HotkeyType, Tuple <Key, ModifierKeys> > hotkey in currentConfig.GlobalHotkeys) { FillHotkeyField(hotkey.Key, hotkey.Value.Item1, hotkey.Value.Item2); } SetPreview(); SourceInitialized += delegate { this.HideMinimizeAndMaximizeButtons(); }; }