Powershell XAML数据网格
我正在尝试用XAML创建一个表单。我面临的问题是,我无法从datagrid检索值。我想要的是在所有复选框中循环true 使用的代码是: XAML: 在谷歌搜索之后,我发现你可以通过$dgUsers.rows调用这些行,但是这个值不存在$dgUsers.Columns确实存在。。我可以使用$dgUsers.Items调用所有我的值。但这只会将我放入的数组返回给它。所以我没有复选框 有人有主意吗 我的powershell版本是:Powershell XAML数据网格,xaml,powershell,datagrid,Xaml,Powershell,Datagrid,我正在尝试用XAML创建一个表单。我面临的问题是,我无法从datagrid检索值。我想要的是在所有复选框中循环true 使用的代码是: XAML: 在谷歌搜索之后,我发现你可以通过$dgUsers.rows调用这些行,但是这个值不存在$dgUsers.Columns确实存在。。我可以使用$dgUsers.Items调用所有我的值。但这只会将我放入的数组返回给它。所以我没有复选框 有人有主意吗 我的powershell版本是: Major Minor Build Revision -----
Major Minor Build Revision
----- ----- ----- --------
4 0 30319 34209
您好,
何塞·文克
function Remove-GuiCompanyUser {
begin {
#Xaml Path
[xml]$xaml = Get-Content "$Global:relPathXaml\RemoveCompanyUser.xaml"
$reader=(New-Object System.Xml.XmlNodeReader $xaml)
# Try to read the XAML to form
try {
$Form=[Windows.Markup.XamlReader]::Load( $reader )
} catch {
Write-Host "Something went wrong..."
}
#Setting al the fields to varialbe
$cbCompanys = $Form.FindName("cbCompanys")
$chkbMultiSelect = $Form.FindName("chkbMultiSelect")
$dgUsers = $Form.FindName("dgUsers")
$chkbBackupFiles = $Form.FindName("chkbBackupFiles")
$chkbBackupMail = $Form.FindName("chkbBackupMail")
$chkblocation = $Form.FindName("chkblocation")
$btnSend = $Form.FindName("btnSend")
}
process {
# Form setup
$Form.Background = $Global:BackColor
# for now disable the multiselect button
$chkbMultiSelect.IsEnabled = $false
# Add scripts to Company Combobox
foreach ($Company in ($Global:Companys | sort Name)) {
[void] $cbCompanys.Items.Add($Company.Name)
}
# Add on checked to CheckBox Multiselect
$chkbMultiSelect.Add_Checked({
$dgUsers.SelectionMode = "Extended"
})
# Add on UnChecked to CheckBox Multiselect
$chkbMultiSelect.Add_UnChecked({
$dgUsers.SelectionMode = "Single"
})
# Add onchange to Company Combobox
$cbCompanys_Add_SelectionChanged = {
# Disable User Combobox
$cbCompanys.IsEnabled = $False
# Clear the Users Combobox
$dgUsers.Clear()
# Get all users of company
$CompUsers = Get-CompanyUser -Company $cbCompanys.SelectedItem | select DisplayName, UserPrincipalName, SamAccountName | sort DisplayName
# Add users to DataGrid
$dgUsers.ItemsSource = $CompUsers
# Allow sorting on all columns
$dgUsers.Columns | ForEach-Object {
$_.CanUserSort = $True
$_.IsReadOnly = $True
}
# Set Columns ReadOnly of not
$dgUsers.Columns[0].IsReadOnly = $False
# Enable User Combobox
$cbCompanys.IsEnabled = $True
}
# Add selectionchanged function to Combobox
$cbCompanys.Add_SelectionChanged($cbCompanys_Add_SelectionChanged)
# Set action to button
$btnSend.Add_Click({
# Get selected items
$SelCompany = $cbCompanys.SelectedItem
# Checking if all fiels contain value
if (!($SelCompany)) {
EmptyFormField -Field "Company"
} else {
for($i=0;$i -lt $dgUsers.items.count;$i++){
if($dgUsers.Rows[$i].Cells[0].Value -eq $true)
{
write-host "cell #$i is checked"
}
}
}
})
# Start form
$Form.ShowDialog() | out-null
}
end {
}
}
Major Minor Build Revision
----- ----- ----- --------
4 0 30319 34209