private void EditCommandExecute(object param) { List <string> contents = new List <string>(); OrganizationChartNodeVM firstnode = (NodeCollection as ObservableCollection <OrganizationChartNodeVM>).First(); LabelVM firstlabel = (firstnode.Annotations as List <IAnnotation>)[0] as LabelVM; foreach (string labels in RoleAnnotation as List <string> ) { contents.Add(labels); } AdditionalInformationWindow window = new AdditionalInformationWindow(); window.Annotations = contents; window.Annotation = firstlabel.Content.ToString(); window.ShowDialog(); List <String> Annotations = window.Annotations; string Annotation = window.Annotation; foreach (OrganizationChartNodeVM node in NodeCollection as ObservableCollection <OrganizationChartNodeVM> ) { LabelVM label = (node.Annotations as List <IAnnotation>).ElementAt(0) as LabelVM; label.Content = Annotation.ToString(); } if (Annotations.Count > 0) { RoleAnnotation = Annotations; foreach (OrganizationChartNodeVM node in NodeCollection as ObservableCollection <OrganizationChartNodeVM> ) { LabelVM label = (node.Annotations as List <IAnnotation>).ElementAt(1) as LabelVM; label.Content = null; foreach (string labels in Annotations as List <string> ) { if (label.Content != null) { label.Content = label.Content.ToString() + "\n" + labels; } else { label.Content = labels; } } } } else { foreach (OrganizationChartNodeVM node in NodeCollection as ObservableCollection <OrganizationChartNodeVM> ) { LabelVM label = (node.Annotations as List <IAnnotation>).ElementAt(1) as LabelVM; label.Content = null; label.ReadOnly = false; } } this.LayoutManager.Layout.UpdateLayout(); }
public Task <bool?> Spawn(string filename, List <IAdditionalInformationViewModel> viewModels) { var viewModel = new AdditionalInformationViewModel(filename, viewModels); var view = new AdditionalInformationWindow { ViewModel = viewModel }; var taskCompletion = new TaskCompletionSource <bool?>(); view.Dispatcher.BeginInvoke(new Action(() => taskCompletion.SetResult(view.ShowDialog()))); return(taskCompletion.Task); }