2017-12-13 19 views
0

私はWPFフォームを構築しており、フォームとそのコントロールはすごく効果的です。 ボタンクリックイベントを介してアイテムを追加したり、別のボタンクリックイベントを介してアイテムを消去したり、リストボックスのダブルクリックイベントを介して個々のリストボックスアイテムの内容をクリップボードにコピーすることができます。Powershellコードを使用して特定のWPFリストボックスアイテムの背景色を変更するにはどうすればよいですか?

特定のリストボックスアイテムの背景色を、選択したアイテムではなくコードを使用して調整して変更したかっただけです。 制御変数が$ lbxCopyあると、正常に動作している、によう:

$lbxCopy.add_MouseDoubleClick($zlbxCopyMouseDoubleClick) 

私はリストボックスに最初の項目を変更するために使用しようとしていますコードは次のとおりです。

$lbxCopy.Items[0].Background = "Red" 

失敗メッセージがあります:

プロパティ 'Background'はこのオブジェクトに見つかりません。
プロパティが存在し、設定可能であることを確認します。 winCopyList_Event_Master.ps1で
:108文字:1
+ $ lbxCopy.Items [0]【選択図】図= "赤"
+ ~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~
+ 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

謝罪。

+0

提案のための 'Brushes.Red' – sTrenat

+0

おかげで試してみてください。私は後でそれを試みます。 – ThePennyDrops

答えて

0

私は下のポストの提案がうまくいっていて、今私はそれを使用していることがわかりました。投稿した人に感謝します。

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) 
関連する問題