私はXMLとPowerShellを使用してGUIを作成しています。 PowerShellを使用してGUIに機能を追加しています。私のGUIには、コンボボックス(ドロップダウンmeuns)だけでなく、データグリッドの結果をフィルタリングするテキストボックスがあります。私は現在、テキストボックスの結果とデータグリッドを変更することに取り組んでいます。
私が達成しようとしている何:テキストとデータグリッドの変化で
結果がテキストボックスに入力しました。ユーザが「W」を入力した場合、「W」で始まるすべての結果が表示されます。
問題:
私はトラブルデータグリッドの内容を変更することを持っています。私はItemsSourceを編集しようとしました。ユーザーがテキストボックスから文字を後退させたときにデータグリッドテーブルを再投入していなかったので、これは動作しませんでした。私はまた、DatagridのItemsプロパティを編集しようとしました。ただし、itemsプロパティは編集できません。私は同様の問題hereへの解決策を見つけたが、私は私の現在のコードの彼のソリューションを利用できませんでした。
コード:
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) }
})
ありがとうございました。これはうまくいった。 –