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); }