DataGrid
이 소스 업데이트로 업데이트되는 PowerShell에서 UI를 만들려고하고 있으므로 ObservableCollection<PSObject>
을 사용하고 있습니다. 그러나 ItemsSource
으로 설정하면 DataGrid
은 열을 생성하지 않습니다. 원래 배열을 사용하면됩니다. 다음 예는 다음과 같습니다ObservableCollection [PSObject]를 DataGrid의 ItemsSource로 사용할 수 있어야합니까?
Add-Type -AssemblyName PresentationCore
Add-Type -AssemblyName PresentationFramework
Add-Type -AssemblyName WindowsBase
[xml]$xaml = @"
<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow"
Height="500"
Width="600">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<DataGrid Grid.Row="0"
x:Name="dataGrid"
IsReadOnly="True"
Margin="6" />
<DataGrid Grid.Row="1"
x:Name="observableDataGrid"
IsReadOnly="True"
Margin="6" />
</Grid>
</Window>
"@
$reader = (New-Object System.Xml.XmlNodeReader $xaml)
$Window = [Windows.Markup.XamlReader]::Load($reader)
$dataGrid = $window.FindName("dataGrid")
$observableDataGrid = $window.FindName("observableDataGrid")
$results = Get-Process | Select-Object -Property ProcessName,Id,Handles,NPM,PM,VM,WS
$results2 = New-Object -TypeName System.Collections.ObjectModel.ObservableCollection[PSObject] -ArgumentList @(,$results)
$dataGrid.ItemsSource = $results
$observableDataGrid.ItemsSource = $results2
$Window.ShowDialog() | Out-Null
DataGrid에 대해 자동 생성 열을 true로 설정하고 그 도움이되는지 확인하십시오. 컬렉션에 요소가 있고 속성이 있는지 확인하고 필드가 작동하지 않을 수 있습니다. – pushpraj