Sunt de lucru pe o aplicatie de windows magazin şi unul din lucrurile pe care vreau să fac în app este un jurnal care arată mesajele de stare şi alte sfaturi informaţională ca utilizator funcţionează lucrurile de afişare. În acest scop, Am adăugat o casetă listă după cum urmează:
<Casetă listă x:Nume ="GameStateLog" HorizontalAlignment ="Centrul" Inaltime ="221" VerticalAlignment ="Top" Latime ="499" Umplutură ="0" Dimensiune font ="10">
Codul C# pentru a completa integral caseta listă la runtime a fost de-a lungul liniilor de:
GameStateLog.Items.Insert(0, GameStateCounter + ": Noul joc de stat: aşteptare pentru player 1 nume");
Aceasta a lucrat bine suficient dar UI a arătat o cantitate nebun de umplutură în jurul mesaje individuale ca acestea au fost adăugate. Care are sens dacă vreau utilizatorilor finali pentru a selecta aceste elemente, dar nu face sens atunci când vreau doar să arate o serie curentă de jurnal mesaje-utilizatorii nu se va selecta acestea, doar le Vezi. A fost ciudat de greu a găsi o modalitate uşoară de a face acest lucru şi fără îndoială, modul în care am găsit-o nu este neapărat "uşor", dar am luat-o de lucru OK. Înţelegere cheie a venit de la această postare aici (http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/c4a6f694-bd46-4779-ab83-b1c2fcb2397c) la Bob Relyea. În loc de adăugarea siruri de caractere în colecţia de articole pe casetă de listare, Adauga ListBoxItems. Prin adăugarea un şir, caseta de listare permite a fost crearea propriile sale ListBoxItem pe cont propriu. Nu am fost capabil să afecteze nimic despre acest ListBoxItem după fapt. Noul cod este:
privat nule AddGameStateLogMessage(şir theMessage) { ListBoxItem li = noi ListBoxItem(); li.Conţinut = theMessage; li.MaxHeight = 25; Grosime thisPadding = noi Grosimea(5, 0, 5, 0); li.Umplutură = thisPadding; GameStateLog.Items.Insert(0,li); }
Aici eu sunt crearea de ListBoxItem pe şi inserarea lor. Am scos padding excesul de setarea grosimea.
Acest lucru este destul de flexibil ca intenţionez să fac unele de culoare de codificare pentru a evidenţia anumite tipuri de mesaje şi prin adăugarea direct ListBoxItems ajung să le stil orice fel vreau.
Sper că acest lucru vă ajută cineva!
</scop>
Urmaţi-mă pe Twitter, la http://www.twitter.com/pagalvin