Nastavenie výšky ListboxItems v ListBox programovo pre Windows Store App

I 'm working on windows aplikácie skladu a jedna z vecí, ktoré chcem urobiť v app je zobrazenie denníka, ktorý zobrazuje správy o stave a iné informačné tidbits, ako používateľ pracuje veci. Na tento účel, Po pridaní ListBox takto:

<ListBox x:Meno ="GameStateLog" HorizontalAlignment ="Centrum" Výška ="221" VerticalAlignment ="Hore" Šírka ="499" Padding ="0" FontSize ="10">

 

C# kód pre naplnenie listbox za behu bol v duchu:

GameStateLog.Items.Insert(0, GameStateCounter    + ": Novú hru stav: Čakanie na hráča 1 meno");

Táto pracoval v poriadku dosť ale UI ukázal šialené množstvo polstrovanie okolo jednotlivé správy, ako oni boli pridané. To dáva zmysel, ak chcú koncoví používatelia môcť vybrať tieto položky, ale nemá zmysel, keď chcem zobraziť bežiace série správ denníka-užívateľov nebude zvoliť, len Zobraziť. To bolo divne ťažké nájsť jednoduchý spôsob, ako to urobiť a pravdepodobne, spôsob, ako som zistil, že nie je nevyhnutne "jednoduché", ale mám to funguje OK. Kľúčový pohľad pochádza z tohto vysielania tu (http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/c4a6f694-bd46-4779-ab83-b1c2fcb2397c) od Bob Relyea. Namiesto pridania struny na zhromažďovanie položiek na ListBox, Pridať ListBoxItems. Pridaním reťazca, ListBox bolo vytvorenie vlastnej ListBoxItem na jeho vlastné. Nebol som schopný ovplyvniť nič o tom, že ListBoxItem po faktu. Nový kód je:

        súkromné neplatné AddGameStateLogMessage(reťazec theMessage)
        {
            ListBoxItem li = nové ListBoxItem();
            li.Obsah = theMessage;
            li.MaxHeight = 25;

            Hrúbka thisPadding = nové Hrúbka(5, 0, 5, 0);
            li.Padding = thisPadding;

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

 

Tu som vytvoriť ListBoxItem spoločnosti a ich vkladanie. Som odstránil prebytočný polstrovanie nastavením jeho hrúbka.

To je dosť pružná úmysle urobiť nejaké farebné kódovanie upozorniť na konkrétne typy správ a pridaním priamo ListBoxItems som si štýl na nich akýmkoľvek spôsobom chcem.

Dúfam, že to pomôže niekto!

</koniec>

undefinedVyberajte môj blog.

Nasledujte ma na stebėtų na http://www.twitter.com/pagalvin

nechať odpoveď

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *