Axustar a altura dos ListBoxItems Nun listbox programación para Windows App Store

I’m working on a windows store application and one of the things I want to do in the app is display a log that shows status messages and other informational tidbits as the user works things. Para este fin, Eu engade unha caixa de lista do seguinte xeito:

<Listbox x:Name ="GameStateLog" HorizontalAlignment ="Centro" Height ="221" VerticalAlignment ="Arriba" Width ="499" Padding ="0" FontSize ="10">

 

O código C # para cubrir o cadro de listaxe en tempo de execución foi ao longo das liñas de:

GameStateLog.Items.Insert(0, GameStateCounter     + ": Novo estado do xogo: á espera de xogadores 1 nome");

This worked out fine enough but the UI showed a crazy amount of padding around the individual messages as they were added. Isto ten sentido se eu queira que os usuarios finais para poder seleccionar estes elementos, pero non ten sentido cando eu só quero te amosar unha serie de mensaxes de log en execución - os usuarios non van seleccionar eses, just view them. Era estrañamente difícil atopar un xeito doado de facer, e, posiblemente,, the way I found it isn’t necessarily “easy” but I got it working OK. A clave da comprensión veu esta mensaxe aquí (http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/c4a6f694-bd46-4779-ab83-b1c2fcb2397c) from Bob Relyea. No canto de engadir cordas para a colección de elementos na listbox, add ListBoxItems. Engadindo unha cadea, the ListBox was creating its own ListBoxItem on its own. I wasn’t able to affect anything about that ListBoxItem after the fact. O novo código é:

        privado invalidar AddGameStateLogMessage(corda theMessage)
        {
            ListBoxItem que = novo ListBoxItem();
            li.Content = theMessage;
            li.MaxHeight = 25;

            Espesor thisPadding = novo Espesor(5, 0, 5, 0);
            li.Padding = thisPadding;

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

 

Here I’m creating ListBoxItem’s and inserting them. Tirei o exceso de enchido, que define o seu grosor.

Iso é moi flexible como eu pretendo facer algúns códigos de cor para destacar certos tipos de mensaxes e engadindo directamente ListBoxItems comezar a estilo-do xeito que quero.

Espero que isto axude alguén!

</final>

undefinedRexístrate para o meu blog.

Siga-me no Twitter http://www.twitter.com/pagalvin

Deixe unha resposta

Enderezo de correo electrónico non será publicado. Os campos obrigatorios están marcados *