示例#1
0
        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();
        }
示例#2
0
        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);
        }