Monatliche Archive: Mai 2013

Schnell und einfach: Legen Sie die Größe von einem Elementen in einem Listenfeld in ein Windows-Speicher-App

In einer Windows-Speicher-App bin ich der Erstellung, Ich möchte dem Benutzer verschiedene Informationsmeldungen zeigen.  Ich habe eine ListBox als Werkzeug um es zu zeigen, so dass sie durch Sie und alles, was good Stuff zu blättern. 

Die Nachrichten sind nur zu Informationszwecken, Also gibt es keine Notwendigkeit, alle, dass zusätzliche Leerräume um sie herum zu bieten, da der Benutzer nie für etwas auswählen kann.  Das Standardverhalten der ListBox bietet umfangreiche Polsterung und ich wollte es loswerden.  Nun.... so etwas auf die ListBox geht direkt nicht.  JEDOCH, Du kannst es an den Elementen machen, die Sie hinzufügen:

        Privat privatevoid AddGameStateLogMessage(Zeichenfolge Ermittelt)
        {
            TextBox t = Neu TextBox();
            t.Text = GameStateCounter    + ": " + Ermittelt;
            t.TextWrapping = TextWrapping.Wrap;
            t.MinWidth = 400;
            Dicke ThisPadding = Neu Dicke(5, 0, 5, 0);
            t.Padding = ThisPadding;
            t.FontSize = 12;

            ListBoxItem li = Neu ListBoxItem();
            Li.Content = t;
            Li.MaxHeight = 25;
            ThisPadding = Neu Dicke(5, 0, 5, 0);
            Li.Padding = ThisPadding;

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

in den oben genannten, Ich bin ein Textfeld erstellen und Festlegen der Schriftart, die Polsterung, usw..

Nächste, Ich eine ListBoxItem erstellen und legen ihren Inhalt auf die formatierte TextBox.

Schließlich, Ich legen ListBoxItem in der ListBox.  (Ich möchte die neuesten Einträge am oberen Rand der Liste zeigen, daher die Einfügung(0,Li) statt einer einfachen hinzufügen() Aufruf.).

Ich wird dies Optimierungen werden, ein bisschen, bevor ich wirklich glücklich mit dem ListBox-Verhalten bin, aber das Muster oben abgebildet ist sehr fruchtbar gewesen.  Hoffentlich findet jemand anderes es hilfreich.

</Ende>

undefinedOnnieren Sie meinen Blog ab.

Folgen Sie mir auf Twitter bei http://www.twitter.com/pagalvin