I am building a PowerShell GUI script with WPF. The DataGrid control has two columns.
$dataGridView1 = New-Object Windows.controls.DataGrid
$dataGridView1.Name = 'ListBox1'
$dataGridView1.AutoGenerateColumns = $false
$dataGridView1.HorizontalAlignment = "Stretch"
$dataGridView1.VerticalAlignment = "Stretch"
$dataGridView1.ColumnWidth = "*"
$dataGridView1.Margin = New-Object Windows.Thickness(20, 200, 20, 20)
$dataGridView1.SelectionMode = [Windows.Controls.DataGridSelectionMode]::Single
$dataGridView1.CanUserResizeRows = $false
$dataGridView1.CanUserResizeColumns = $false
$printerNameColumn = New-Object Windows.Controls.DataGridTextColumn
$printerNameColumn.Header = "Printer Name"
$printerNameColumn.Binding = New-Object Windows.data.Binding("ShareName")
$dataGridView1.Columns.Add($printerNameColumn)
$printerLocationColumn = New-Object Windows.controls.DataGridTextColumn
$printerLocationColumn.Header = "Location"
$printerLocationColumn.Binding = New-Object Windows.data.Binding("Location")
$dataGridView1.Columns.Add($printerLocationColumn)
I wanted to get rid of the additional space shown in the image. Is it even possible ?
I am new to PowerShell wpf frameworks
This is the rows headers column. If you don't use them, you can turn off their visibility:
C-Sharp:
dataGridView1.HeadersVisibility = DataGridHeadersVisibility.Column;
PowerShell:
$DataGrid.HeadersVisibility = "column"
P.S. Additional advice: DataGridView is a completely different element from the Win Forms platform. You should not name a DataGrid from WPF this way. This can confuse your interlocutors and complicate mutual understanding.