I en Windows Store App opretter jeg, Jeg ønsker at vise brugeren forskellige informationsmeddelelser. Jeg tog en ListBox som redskab til at vise det, så de kan rulle gennem dem og alt det gode ting.
Beskederne er oplysende kun, så der er ingen grund til at give alt det ekstra blanktegn rundt om dem, da brugeren kan aldrig vælge dem til noget. Standard opførsel i kontrolelementerne liste indeholder en betydelig mængde af polstring og jeg ønskede at slippe af med den. Nå.... Du kan ikke gøre slags ting på ListBox direkte. MEN, Du kan gøre det til de elementer, du tilføjer:
privat void AddGameStateLogMessage(streng theMessage) { TextBox t = nye Lærebog(); t.Text = GameStateCounter + ": " + theMessage; t.TextWrapping = TextWrapping.Wrap; t.MinWidth = 400; Tykkelse thisPadding = nye Tykkelse(5, 0, 5, 0); t.Padding = thisPadding; t.FontSize = 12; ListBoxItem li = nye ListBoxItem(); Li.Indhold = t; Li.MaxHeight = 25; thisPadding = nye Tykkelse(5, 0, 5, 0); Li.Polstring = thisPadding; GameStateLog.Items.Insert(0,Li); }
i ovenstående, Jeg er at oprette en tekstboks og indstille dens skrifttype, dens polstring, osv.
Næste, Jeg oprette en ListBoxItem og sæt dens indhold til den formaterede lærebog.
Endelig, Jeg indsætte ListBoxItem i listefeltet. (Jeg ønsker at vise de seneste meddelelser øverst i listen, Derfor indsætte(0,Li) i stedet for en simpel tilføje() aktivering.).
Jeg vil tweaking dette, lidt før jeg er virkelig tilfreds med ListBox adfærd men det mønster vist ovenfor har været meget frugtbart. Forhåbentlig finder en anden det nyttigt.
</slutningen>
Følg mig på kvidre på http://www.twitter.com/pagalvin