Es esmu strādā pie veikala windows lietojumprogramma un viena no lietām, ko es gribu darīt app ir parādīt žurnālu, kas parāda statusu sludinājumi un citi informatīvie niekiem kā lietotājs darbojas lietas. Šajā nolūkā, Es pievieno sarakstlodziņam:
<ListBox x:Nosaukums ="GameStateLog" HorizontalAlignment ="Centrs" Augstums ="221" VerticalAlignment ="Augšā" Platums ="499" Padding ="0" FontSize ="10">
C# kodu, lai aizpildītu sarakstlodziņu, Runtime bija gar līniju no:
GameStateLog.Items.Insert(0, GameStateCounter + ": Jauna spēle valsts: gaida spēlētāju 1 vārds");
Tas strādāja labi, pietiekami, bet UI parādīja crazy summa odere ap atsevišķiem ziņojumiem, kā tie tika pievienoti. Tas ir jēga, ja vēlaties gala lietotājiem, lai varētu atlasīt šo vienumu, bet nesaprotam, kad tikai gribu parādīt žurnāla ziņas, kas darbojas virkne-lietotāji nevar atlasīt šos, tikai tos skatīt. Tas bija savādi grūti atrast viegli veids, kā to izdarīt un apstrīdami, veids, kā es atklāju, ka ne vienmēr "viegli", bet man tas strādā OK. Galvenie ieskatu, kas nāca no šo posting šeit (http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/c4a6f694-bd46-4779-ab83-b1c2fcb2397c) no Bob Relyea. Tā vietā, lai virknes pievienošana krājumu savākšanas ListBox, pievienot ListBoxItems. Pievienojot virkni, ListBox radīja savas ListBoxItem uz savu. Man nebija iespēja ietekmēt kaut ko par to, ka ListBoxItem pēc fakta. Jaunais kods ir:
privāts anulēts AddGameStateLogMessage(virkne Ziņojumu) { ListBoxItem li = jaunā ListBoxItem(); Li.Satura = ziņojumu; Li.MaxHeight = 25; Biezumu thisPadding = jaunā Biezums(5, 0, 5, 0); Li.Padding = thisPadding; GameStateLog.Items.Insert(0,Li); }
Šeit ListBoxItem ir veidoju un ievietot tos. Es noņemt lieko polsterējums, nosakot tā biezums.
Tas ir diezgan elastīgi, kā paredzējis darīt daži krāsu kodēšanu, lai iezīmētu konkrētu veidu ziņojumus un pievienojot tieši ListBoxItems man stilu tos jebkādā veidā, es gribu.
Ceru, ka tas palīdz kāds!
</beigās>
Sekot mani uz čivināt pie http://www.twitter.com/pagalvin