Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wpf 根据列表框选择更改2个文本框的内容_Wpf_Powershell - Fatal编程技术网

Wpf 根据列表框选择更改2个文本框的内容

Wpf 根据列表框选择更改2个文本框的内容,wpf,powershell,Wpf,Powershell,我正在创建一个小工具,该工具分为两个文件: Form.ps1-GUI和按钮事件 Main.ps1-所有功能 表单本身如下所示: 当输入用户并单击“查找用户”时,如果只有一个结果,则填写用户名和审批人(审批人是用户的直线经理),如下所示: 但是,如果返回的结果超过1个,它将创建结果的列表框 我正在努力解决的部分是如何使用$listbox添加审批人以及用户名。选择editem 目前,我只能获得用户名,如以下示例所示: 我正在使用以下广告查询来获取名称,电子邮件,经理和经理邮件: $sear

我正在创建一个小工具,该工具分为两个文件:

Form.ps1
-GUI和按钮事件

Main.ps1
-所有功能

表单本身如下所示:

当输入用户并单击“查找用户”时,如果只有一个结果,则填写
用户名
审批人
(审批人是用户的直线经理),如下所示:

但是,如果返回的结果超过1个,它将创建结果的
列表框

我正在努力解决的部分是如何使用
$listbox添加
审批人
以及
用户名
。选择editem

目前,我只能获得
用户名
,如以下示例所示:

我正在使用以下广告查询来获取
名称
电子邮件
经理
经理邮件

  $searchResult = Get-ADUser -Filter "givenName -like ""$Firstname"" -and sn -Like ""$Surname""" -Properties Name, Mail, Manager |
                  Where { $_.Enabled -eq $True} |
                  Select-Object Name, Mail, @{Name="ManagersEmail";Expression={(get-aduser -property mail $_.manager).mail}}

变量
$firstname
$lasname
使用
拆分从文本框中获取。您可以使用WPF的元素绑定功能

我已经在
列表框1
中填充了字符串类型的项,因此它不需要获取对象的属性

下面是示例XAML和代码

XAML:-

<TextBox Text="{Binding ElementName=listbox1, Path=SelectedItem}" 
      HorizontalAlignment="Left" Height="24" Margin="164,100,0,0" 
      TextWrapping="Wrap"  VerticalAlignment="Top" Width="120"/>

<ListBox x:Name="listbox1"
         HorizontalAlignment="Left" 
         Height="100" 
         Margin="164,156,0,0" 
         VerticalAlignment="Top" 
         Width="100"/>

您可以跳过此C#部件,因为您可能已经通过单击“查找用户”按钮填充了它。

是否可以使用WPF前端和PowerShell后端来完成此操作?此更改将由前端WPF完成。试一下,你就会明白。@ryanmaddock你试过了吗?是的,我现在已经让这个角色开始工作了。我唯一要做的就是改变显示为列表框项目的内容。它目前显示的是完整的哈希表,而我只需要其中的一部分,不过我会弄明白的。我认为你的回答是正确的,谢谢你的帮助。我很高兴能提供帮助。
        listbox1.Items.Add("ABC");
        listbox1.Items.Add("XyZ");
        listbox1.Items.Add("123");