Tag Archives: Windows Store

Rapid şi uşor: Seta mărimea o elemente într-o casetă listă într-un App Windows Store

Într-un Windows Store App eu sunt crearea de, Vreau să arate utilizatorului diverse mesaje informative.  Am luat o casetă listă ca instrumentul să-l arate astfel încât acestea pot parcurge ei şi tot ce bun îndesat. 

Mesajele sunt doar informative, Deci nu este nevoie să furnizeze toate că extra spaţiu în jurul lor, deoarece utilizatorul nu le puteţi selecta pentru nimic.  Comportamentul implicit din caseta de listare permite oferă o sumă substanţială de umplutură şi am vrut să scap de ea.  Ei bine.... nu se poate face ca un fel de lucru pe caseta de listare permite direct.  CU TOATE ACESTEA, puteţi face acest lucru la elementele adăugaţi:

        privat nule AddGameStateLogMessage(şir theMessage)
        {
            TextBox t = noi Casetă text();
            t.Text = GameStateCounter    + ": " + theMessage;
            t.TextWrapping = TextWrapping.Wrap;
            t.MinWidth = 400;
            Grosime thisPadding = noi Grosimea(5, 0, 5, 0);
            t.Padding = thisPadding;
            t.FontSize = 12;

            ListBoxItem li = noi ListBoxItem();
            li.Conţinut = t;
            li.MaxHeight = 25;
            thisPadding = noi Grosimea(5, 0, 5, 0);
            li.Umplutură = thisPadding;

            GameStateLog.Items.Insert(0,li);
        }

în cele de mai sus, Am crea o casetă text şi setarea sale font, umplutură sale, etc.

Următoarea, Am crea un ListBoxItem şi a stabilit conţinutul său pentru a casetă de text formatat.

În cele din urmă, Am introduceţi ListBoxItem în caseta de listare permite.  (Vreau să Arată cele mai recente mesaje în partea de sus a listei, prin urmare, Insert(0,li) în loc de un simplu Add() invocarea.).

Am va fi tweaking acest lucru un pic înainte sunt foarte fericit cu comportamentul ListBox dar modelul prezentat mai sus a fost foarte fructuoasă.  Sperăm că altcineva se găseşte ajutor.

</scop>

undefinedAboneaza-te la blog-ul meu.

Urmaţi-mă pe Twitter, la http://www.twitter.com/pagalvin

Stabilirea înălţimii ListboxItems înăuntru un listă programatic pentru App Windows Store

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>

undefinedAboneaza-te la blog-ul meu.

Urmaţi-mă pe Twitter, la http://www.twitter.com/pagalvin