Beispiel #1
0
        public void OpenDocument(string header, FrameworkElement control, bool isBinding)
        {
            if (control == null)
            {
                MessageBox.Show("No valid control to show as document window!"); return;
            }
            if (string.IsNullOrEmpty(header))
            {
                MessageBox.Show("No valid header to show as document window!"); return;
            }
            if (isBinding)
            {
                if (ActiveExist(control))
                {
                    return;
                }
                else
                {
                    for (int i = 0; i < MainGroup.Items.Count; i++)
                    {
                        var p = MainGroup.Items[i] as RadPane;
                        if (p.Header != null && p.Header.ToString() == header)
                        {
                            p.IsActive = true;
                            return;
                        }
                    }
                }
            }


            var pane = new RadPane()
            {
            };

            if (isBinding)
            {
                Binding binding = new Binding();
                binding.Path   = new PropertyPath(header);
                binding.Source = control.DataContext;
                BindingOperations.SetBinding(pane, RadPane.HeaderProperty, binding);
            }
            else
            {
                pane.Header = header;
            }
            pane.Content = control;
            MainGroup.AddItem(pane, Telerik.Windows.Controls.Docking.DockPosition.Center);
            pane.Unloaded += Pane_Unloaded;

            if (projectViewModel != null)
            {
                var vm = control.DataContext;
                if (vm is INotifiedViewModel)
                {
                    projectViewModel.OpenedViewModel.Add(vm as INotifiedViewModel);
                }
            }
        }
        public void OpenDocument(string header, FrameworkElement control)
        {
            if (control == null)
            {
                MessageBox.Show("No valid control to show as document window!");
            }
            var pane = new RadPane()
            {
                Header = header
            };

            pane.Content = control;
            MainGroup.AddItem(pane, Telerik.Windows.Controls.Docking.DockPosition.Center);
        }