private/output/New-StyledDataGrid.ps1
|
function New-StyledDataGrid { <# .SYNOPSIS Creates a themed DataGrid with standard configuration and context menu. #> [CmdletBinding()] param( [switch]$AutoGenerateColumns, [switch]$SingleSelect, [switch]$NoSort, [switch]$NoContextMenu ) $dataGrid = [System.Windows.Controls.DataGrid]::new() # Apply theme styling Set-DataGridStyle -Grid $dataGrid # Add standard context menu unless suppressed if (!$NoContextMenu) { New-DataGridContextMenu -DataGrid $dataGrid } # Standard configuration $dataGrid.AutoGenerateColumns = [bool]$AutoGenerateColumns $dataGrid.HorizontalScrollBarVisibility = 'Auto' $dataGrid.VerticalScrollBarVisibility = 'Auto' $dataGrid.FlowDirection = [System.Windows.FlowDirection]::LeftToRight $dataGrid.CanUserSortColumns = !$NoSort $dataGrid.CanUserResizeColumns = $true if ($SingleSelect) { $dataGrid.SelectionMode = 'Single' } else { $dataGrid.SelectionMode = 'Extended' } return $dataGrid } |