PowerShell GUI - 无法直接在GUI中加载的数据

时间:2017-12-27 14:10:56

标签: powershell listview user-interface

我正在编写一个xml gui阅读器只是为了好玩,但我在如何使用数据填充listview时遇到了一些问题。

当我运行PowerShell脚本时:img1

点击搜索按钮时错误的样子: img2

左侧屏幕上的数据是正确的,但是当我按下搜索按钮时,它应该上传到列表视图中。

查询:

$GetXmlFileNames =  Get-ChildItem -Path $ApplicationFormTextboxUncPath -Recurse -force -Include $ApplicationFormButtonSearchFileTypes | Select-String -Pattern $Pattern | Format-List Filename, Path | Out-String

ForEach ($Object in $GetXmlFileNames){   

    Write-Host $GetXmlFileNames
        % { 
        if ($XML.Options.FileInfo.FileName.Enabled -eq $True) {
        Foreach-Object {
                        # Populate the XML columns with data
                        # Start Color
                        $SItem = New-Object System.Windows.Forms.ListViewItem(" Start - File Attribute ")
                        $SItem.BackColor = "Black"
                        $SItem.ForeColor = "White"
                        $LvMain.Items.Add($SItem)

                        # Xml File
                        $Item = New-Object System.Windows.Forms.ListViewItem(" Xml - FileName :")
                        $Item.SubItems.Add($_.Filename) }
                        $LvMain.Items.Add($Item)  

                        #Xml DirectoryName
                        $Item = New-Object System.Windows.Forms.ListViewItem(" Xml - DirectoryName :")
                        $Item.SubItems.Add($_.Path) }
                        $LvMain.Items.Add($Item) 

                        $EItem = New-Object System.Windows.Forms.ListViewItem(" End - File Attribute ")
                        $EItem.BackColor = "Red"
                        $EItem.ForeColor = "Black"
                        $LvMain.Items.Add($EItem)
                        }

项目:https://github.com/fardinbarashi/Powershell-XmlPatternLookUp

Ps代码  :https://github.com/fardinbarashi/Powershell-XmlPatternLookUp/blob/master/labxml.ps1

现在我的想法是你在IMG2中看到的文件名和路径应该加载到列表视图中(LvMain)

我该怎么做?

1 个答案:

答案 0 :(得分:0)

为此,您需要一个GridView而不是ListView,并在XAML中为它们添加数据绑定。

此处的上一篇文章详细介绍了几种方法:

Using XAML/WPF in PowerShell, how do I populate a list box?

看起来那个人遇到了同样的问题,试图在函数上使用.Add()方法,而不是使用数据绑定。