Månadsarkiv: Maj 2013

Snabb och enkel: Ange storleken på ett objekt i en listruta i ett Windows Store App

I en Windows Store App skapar jag, Jag vill visa användaren olika informationsmeddelanden.  Jag plockade en listruta som verktyget att visa det så att de kan bläddra igenom dem och allt det bra grejer. 

Meddelanden är endast informativt, så det finns ingen anledning att ge allt det extra mellanslag runt dem eftersom användaren kan aldrig välja dem för något.  Standardbeteendet för ListBox ger en betydande mängd stoppning och jag ville bli av med den.  Tja.... Du kan inte göra sånt på listrutan direkt.  EMELLERTID, Du kan göra det till de poster som du lägger till:

        privat void AddGameStateLogMessage(sträng theMessage)
        {
            Textrutan t = nya Lärobok();
            t.Text = GameStateCounter    + ": " + theMessage;
            t.TextWrapping = TextWrapping.Wrap;
            t.MinWidth = 400;
            Tjocklek thisPadding = nya Tjocklek(5, 0, 5, 0);
            t.Padding = thisPadding;
            t.FontSize = 12;

            ListBoxItem li = nya ListBoxItem();
            Li.Content = t;
            Li.MaxHeight = 25;
            thisPadding = nya Tjocklek(5, 0, 5, 0);
            Li.Padding = thisPadding;

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

i ovanstående, Jag är att skapa en textruta och ställa in teckensnitt, dess stoppning, m.m..

Nästa, Jag skapa en ListBoxItem och sätta dess innehåll till textrutan formaterad.

Slutligen, Jag sätter på ListBoxItem i listrutan.  (Jag vill visa senaste meddelanden överst på listan, därav skäret(0,Li) i stället för en enkel Lägg till() åkallan.).

Jag kommer att pyssla här lite innan jag är riktigt nöjd med ListBox beteendet men mönstret ovan har varit mycket givande.  Förhoppningsvis finner någon annan det användbart.

</slutet>

undefinedPrenumerera på min blogg.

Följ mig på Twitter vid http://www.twitter.com/pagalvin