/// <summary> /// Subscribes to the Selected item changed event. ItemInfo of the selected item is instantiated. /// </summary> /// <param name="obj"></param> private async void OnSelectedItemChanged(ProjectWindowSelectedItemsChangedEventArgs obj) { //The viewmodel MetadataViewerViewModel vm = FrameworkApplication.DockPaneManager.Find("MetadataViewer_MetadataViewer") as MetadataViewerViewModel; if (vm != null) { //ItemInfo info = new ItemInfo(null, ""); var item = Project.Current.SelectedItems?.FirstOrDefault(); if (item != null) { var xml = await ItemInfo.GetXML(item); if (!string.IsNullOrEmpty(xml)) //Item has xml { vm.ItemInformation = new ItemInfo(item, xml); vm.DockpaneVisible = System.Windows.Visibility.Visible; } else { vm.DockpaneVisible = System.Windows.Visibility.Collapsed; } } else { vm.DockpaneVisible = System.Windows.Visibility.Collapsed; } } }
private void OnProjectWindowSelectedItem(ProjectWindowSelectedItemsChangedEventArgs args) { if (args.IProjectWindow.SelectionCount > 0) { _selectedMapMember = null; // get the first selected item _selectedItem = args.IProjectWindow.SelectedItems.First(); // check if it's supported by the TableControl if (!TableControlContentFactory.IsItemSupported(_selectedItem)) { return; } // create the content var tableContent = TableControlContentFactory.Create(_selectedItem); // assign it if (tableContent != null) { this.TableContent = tableContent; } } }