public static DataGrid PrepareDataGrid(TabPageModel tabPage, ILSpyTreeNode selectedNode) { if (!(tabPage.Content is DataGrid view && view.Name == "MetadataView")) { view = new MetaDataGrid() { Name = "MetadataView", GridLinesVisibility = DataGridGridLinesVisibility.None, CanUserAddRows = false, CanUserDeleteRows = false, CanUserReorderColumns = false, RowHeaderWidth = 0, EnableColumnVirtualization = true, EnableRowVirtualization = true, IsReadOnly = true, SelectionMode = DataGridSelectionMode.Single, SelectionUnit = DataGridSelectionUnit.CellOrRowHeader, SelectedTreeNode = selectedNode, CellStyle = new Style { Setters = { new Setter { Property = Control.BorderThicknessProperty, Value = new Thickness(0) } } } }; ContextMenuProvider.Add(view); ScrollViewer.SetIsDeferredScrollingEnabled(view, true); DataGridFilter.SetIsAutoFilterEnabled(view, true); DataGridFilter.SetContentFilterFactory(view, new RegexContentFilterFactory()); } view.RowDetailsTemplateSelector = null; view.RowDetailsVisibilityMode = DataGridRowDetailsVisibilityMode.Collapsed; ((MetaDataGrid)view).SelectedTreeNode = selectedNode; if (!view.AutoGenerateColumns) { view.Columns.Clear(); } view.AutoGenerateColumns = true; view.AutoGeneratingColumn += View_AutoGeneratingColumn; view.AutoGeneratedColumns += View_AutoGeneratedColumns; return(view); }
public static DataGrid PrepareDataGrid(TabPageModel tabPage, ILSpyTreeNode selectedNode) { if (!(tabPage.Content is DataGrid view && view.Name == "MetadataView")) { view = new MetaDataGrid() { Name = "MetadataView", GridLinesVisibility = DataGridGridLinesVisibility.None, CanUserAddRows = false, CanUserDeleteRows = false, CanUserReorderColumns = false, HeadersVisibility = DataGridHeadersVisibility.Column, EnableColumnVirtualization = true, EnableRowVirtualization = true, RowHeight = 20, IsReadOnly = true, SelectionMode = DataGridSelectionMode.Single, SelectionUnit = DataGridSelectionUnit.FullRow, SelectedTreeNode = selectedNode, CellStyle = (Style)MetadataTableViews.Instance["DataGridCellStyle"], }; ContextMenuProvider.Add(view); DataGridFilter.SetIsAutoFilterEnabled(view, true); DataGridFilter.SetContentFilterFactory(view, new RegexContentFilterFactory()); } DataGridFilter.GetFilter(view).Clear(); view.RowDetailsTemplateSelector = null; view.RowDetailsVisibilityMode = DataGridRowDetailsVisibilityMode.Collapsed; view.EnableColumnVirtualization = true; view.EnableRowVirtualization = true; ((MetaDataGrid)view).SelectedTreeNode = selectedNode; if (!view.AutoGenerateColumns) { view.Columns.Clear(); } view.AutoGenerateColumns = true; view.AutoGeneratingColumn += View_AutoGeneratingColumn; view.AutoGeneratedColumns += View_AutoGeneratedColumns; return(view); }