내가 XML 및 PowerShell을 사용하여 GUI를 생성하고있다. PowerShell을 사용하여 GUI에 기능을 추가하고 있습니다. 내 GUI에는 Comboboxes (드롭 다운 meuns)뿐만 아니라 Datagrid의 결과를 필터링하는 텍스트 상자가 있습니다. 나는 현재 텍스트 상자의 결과로 Datagrid를 변경하려고하고있다.
것은 내가 달성하기 위해 노력하고있어 : 텍스트 상자에 입력 한 텍스트와 DataGrid에 변화
결과. 예를 들어 사용자가 "W"를 입력하면 "W"로 시작하는 모든 결과가 나열됩니다.
문제점 :
나는 문제가에서 Datagrid의 내용을 변경하는 데 문제. ItemsSource를 편집하려고했습니다. 이것은 사용자가 텍스트 상자에서 문자를 철회 할 때 Datagrid가 테이블을 다시 채우지 않았기 때문에 작동하지 않았습니다. 또한 Datagrid의 Items 속성을 편집하려고했습니다. 그러나 items 속성은 편집 할 수 없습니다. 나는 비슷한 문제에 대한 해결책을 찾았으나 현재 해결책으로는 사용할 수 없었다.
코드 :
add-type @"
public class Server
{
public Server() {}
public string Column1 { get; set; }
public string Column2 { get; set; }
public string Column3 { get; set; }
public string Column4 { get; set; }
public string Column5 { get; set; }
public string Column6 { get; set; }
}
"@ -Language CsharpVersion3
[System.Collections.ArrayList] $Server = New-Object "System.Collections.ArrayList"
$GUI | ForEach-Object {
$ServerToAdd = new-object Server
$ServerToAdd.Column1 = $_.Results1
$ServerToAdd.Column2 = $_.Results2
$ServerToAdd.Column3 = $_.Results3
$ServerToAdd.Column4 = $_.Results4
$ServerToAdd.Column5 = $_.Results5
$ServerToAdd.Column6 = $_.Results6
$Server.add($ServerToAdd) | Out-Null
}
$GUI.DataGrid.ItemsSource = $Server
$GUI.TextBox.Add_TextChanged({
$InputText = $GUI.TextBox.Text
$GUI.DataGrid.Items | Where-Object { $_.Column1.Contains($InputText) }
})
고맙습니다. 이것은 효과가 있었다. –