如何通过Powershell代码更改特定WPF列表框项的背景颜色?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何通过Powershell代码更改特定WPF列表框项的背景颜色?相关的知识,希望对你有一定的参考价值。
我已经构建了一个WPF表单,表单及其控件都运行良好。我可以通过按钮单击事件添加项目,通过不同的按钮单击事件清除项目,通过列表框上的双击事件将各个列表框项目的内容复制到剪贴板。
我只想通过代码(不是通过选定的项目)来定制和更改特定列表框项目的背景颜色。控制变量是$ lbxCopy并且正在成功运行,如:
$lbxCopy.add_MouseDoubleClick($zlbxCopyMouseDoubleClick)
我试图用来更改列表框中第一项的代码是:
$lbxCopy.Items[0].Background = "Red"
失败消息是:
无法在此对象上找到属性“背景”。 验证该属性是否存在且可以设置。 在winCopyList_Event_Master.ps1:108 char:1 + $ lbxCopy.Items [0] .Background =“Red” + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo:InvalidOperation:(:) [],RuntimeException + FullyQualifiedErrorId:PropertyAssignmentException
以下是Window_Loaded事件的代码:
$zwinCopyListLoaded = {
#- Initial Load of the Listbox data -----
#- Calls a sub-process that successfully load the listbox -----
. $zLoadListBox
$lbxCopy.Background = "Red"
#- The above works but sets the whole listbox background color.
$lbxCopy.Items[0].Background = "Blue"
#- The above fails !
}#-End of Window Loaded event -----
#-------------------------------------------------------------
#- Window Loaded ~ Event-Monitor -----
$winCopyList.add_Loaded($zwinCopyListLoaded)
我希望能够通过代码事件选择特定的列表框项目,而不是通过选择事件。 我确信我正在做一些愚蠢的事情,就像我有一个盲点一样,当我得到一个我正在挣扎的这个刺激的答案时,我会打我的头!
其他说明:Windows 10桌面; 64位架构; Powershell 4;我不明白'C';我只是Powershell和WPF的学习者;我使用Google / MSDN / StackOverflow搜索但没有成功。
我确实尝试过这篇文章而没有成功: https://www.codeproject.com/Articles/8134/Coloring-items-in-a-ListBox
为我的愚蠢提前道歉。
我发现下面帖子中的建议成功,我现在正在使用它。非常感谢那些发布的人。
https://stackoverflow.com/questions/43565540#43565540
$ListBox = $Window.FindName("ListBox")
#- Repeat the code below for each 'Items.Add' -----
$itm = new-object System.Windows.Controls.ListboxItem
$itm.Content = 'test red'
$itm.Background = 'red'
$ListBox.Items.Add($itm)
以上是关于如何通过Powershell代码更改特定WPF列表框项的背景颜色?的主要内容,如果未能解决你的问题,请参考以下文章
PowerShell 和 TFS |使用本地路径与使用服务器路径的 PowerShell ISE 从 TFS 获取更改集列表
使用FileSystemWatcher警告多个文件是否同时更改
如何将 DataGrid 中的文本框绑定到 Wpf 中的列表?
(WPF, Data Binding, DependencyProperty) 能否只获取列表中特定成员变量的列表?