public void ChangeImage(string imagePath) { if (string.IsNullOrEmpty(imagePath)) { return; } MainWindow mainWindow = Application.Current.MainWindow as MainWindow; List <InstanceAttribute> instanceAttributes = mainWindow.InstanceAttributes; InstanceAttribute instanceAttribute = instanceAttributes.Find(x => x.EnvironmentId == SelectedRDPTerminal.EnvironmentId); if (instanceAttribute != null) { instanceAttribute.ImageSource = imagePath; } else { instanceAttributes.Add(new InstanceAttribute() { EnvironmentId = SelectedRDPTerminal.EnvironmentId, ImageSource = imagePath }); } Properties.Settings.Default.instanceattributes = JsonConvert.SerializeObject(instanceAttributes, new JsonSerializerSettings { TypeNameHandling = TypeNameHandling.Auto }); Properties.Settings.Default.Save(); var changedVM = new Model.RDPTerminal() { InstanceId = SelectedRDPTerminal.InstanceId, DeploymentStatus = SelectedRDPTerminal.DeploymentStatus, ApplicationRelease = SelectedRDPTerminal.ApplicationRelease, CurrentPlatformReleaseName = SelectedRDPTerminal.CurrentPlatformReleaseName, TopologyType = SelectedRDPTerminal.TopologyType, DisplayName = SelectedRDPTerminal.DisplayName, EnvironmentId = SelectedRDPTerminal.EnvironmentId, Instances = SelectedRDPTerminal.Instances, SqlAzureCredentials = SelectedRDPTerminal.SqlAzureCredentials, NavigationLinks = SelectedRDPTerminal.NavigationLinks, ImageSource = imagePath }; this.Delete(); RDPTerminals.Add(changedVM); RDPTerminals.BubbleSort(); SelectedRDPTerminal = changedVM; }
// Delete the selected item public void Delete() { RDPTerminals.Remove(SelectedRDPTerminal); SelectedRDPTerminal = RDPTerminals[0]; }