private void DocumentViewLoaded(object sender, RoutedEventArgs e) { _view = (IXamlDocumentView)sender; if (SelectedDocument == _view.XamlDocument) { SelectedView = _view; KaxamlInfo.Editor = SelectedView.TextEditor; } }
/// <summary> /// PropertyChangedCallback for SelectedDocument /// </summary> private static void SelectedDocumentChanged(DependencyObject obj, DependencyPropertyChangedEventArgs args) { if (obj is DocumentsView) { DocumentsView owner = (DocumentsView)obj; // handle changed event here XamlDocument document = (XamlDocument)args.NewValue; ListBoxItem listBoxItem = (ListBoxItem)owner.ContentListBox.ItemContainerGenerator.ContainerFromItem(document); if (listBoxItem != null) { IXamlDocumentView v = (IXamlDocumentView)listBoxItem.Template.FindName("PART_DocumentView", listBoxItem); if (v != null) { owner._view = v; // (IXamlDocumentView)listBoxItem.Template.FindName("PART_DocumentView", listBoxItem); owner.SelectedView = owner._view; v.OnActivate(); KaxamlInfo.Editor = owner.SelectedView.TextEditor; } } } }