private Control ConstructOutputModeSelector() { var control = new OutputModeSelector { Width = 300 }; control.SelectedModeChanged += (sender, mode) => App.Settings.OutputMode = mode.Path; ViewModel.PropertyChanged += (sender, e) => { if (e.PropertyName == nameof(ViewModel.Settings)) { var mode = control.OutputModes.FirstOrDefault(t => t.Path == App.Settings.OutputMode); control.SelectedIndex = control.OutputModes.IndexOf(mode); } }; return(control); }
private Control ConstructOutputModeSelector() { var control = new OutputModeSelector { Width = 300 }; control.SelectedModeChanged += (sender, mode) => { App.Settings.OutputMode = mode.Path; UpdateOutputMode(mode); }; this.SettingsChanged += (settings) => { var mode = control.OutputModes.FirstOrDefault(t => t.Path == App.Settings.OutputMode); control.SelectedIndex = control.OutputModes.IndexOf(mode); }; return(control); }
private Control ConstructOutputModeSelector() { var control = new OutputModeSelector { Width = 300 }; control.SelectedModeChanged += (sender, mode) => { App.Settings.OutputMode = PluginSettingStore.FromPath(mode.Path); UpdateOutputMode(mode); }; App.SettingsChanged += (settings) => { var mode = control.OutputModes.FirstOrDefault(t => t.Path == App.Settings.OutputMode?.Path) ?? AppInfo.PluginManager.GetPluginReference(typeof(AbsoluteMode)); if (mode != null) { control.SelectedIndex = control.OutputModes.IndexOf(mode); } }; return(control); }