Je crée dans une application Windows Store..., Je veux montrer à l'utilisateur des messages d'information diverses. J'ai pris un ListBox comme outil pour le montrer afin qu'ils peuvent défiler à travers eux et tout ce que de bonnes choses.
Les messages sont uniquement à but informations, Il n'y a donc pas lieu de prévoir tout ce supplément espace blanc autour d'eux car l'utilisateur peut les sélectionner jamais pour quoi que ce soit. Le comportement par défaut du contrôle ListBox fournit une quantité importante de rembourrage et je voulais me débarrasser de celui-ci. Eh bien.... vous ne pouvez pas faire ce genre de chose sur la zone de liste directement. CEPENDANT, vous pouvez le faire pour les éléments que vous ajouter:
privé VOID AddGameStateLogMessage(chaîne Lemessage) { TextBox t = Nouveau TextBox(); t.Text = GameStateCounter + ": " + Lemessage; t.TextWrapping = TextWrapping.Wrap; t.MinWidth = 400; Épaisseur thisPadding = Nouveau Épaisseur(5, 0, 5, 0); t.Padding = thisPadding; t.FontSize = 12; ListBoxItem li = Nouveau ListBoxItem(); néantContent = t; Li.MaxHeight = 25; thisPadding = Nouveau Épaisseur(5, 0, 5, 0); Li.Rembourrage = thisPadding; GameStateLog.Items.Insert(0,Li); }
dans ce qui précède, Je suis créant une zone de texte et en définissant ses polices, son rembourrage, etc..
Prochaine, J'ai créer un ListBoxItem et définissez son contenu à la zone de texte mis en forme.
Enfin, J'insère le ListBoxItem dans le ListBox. (Je veux montrer les messages plus récents en haut de la liste, C'est pourquoi l'Insert(0,Li) au lieu d'un simple Add() invocation.).
Je va être peaufiner cela un peu avant que je suis vraiment heureux avec le comportement du contrôle ListBox, mais le modèle illustré ci-dessus a été très fructueux. J'espère que quelqu'un d'autre estime qu'il est utile.
</fin>
Me suivre sur Twitter à http://www.twitter.com/pagalvin