Sto creando in un'App di Windows Store, Voglio mostrare all'utente messaggi informativi vari. Ho preso una ListBox come lo strumento per mostrarlo in modo che essi possono scorrere roba loro e tutto ciò che di buono.
I messaggi sono solo informativi, quindi non è necessario per fornire supplementare tutto quello spazio vuoto intorno a loro, poiché l'utente non può selezionare mai per nulla. Il comportamento predefinito del controllo ListBox fornisce una notevole quantità di imbottitura e ho voluto sbarazzarsi di esso. Beh.... non si può fare cose del genere su ListBox direttamente. TUTTAVIA, si può fare per gli elementi che si aggiungono:
privato void AddGameStateLogMessage(stringa Strumento) { TextBox t = Nuovo TextBox(); t.Text = GameStateCounter + ": " + Strumento; t.TextWrapping = TextWrapping.Wrap; t.MinWidth = 400; Spessore thisPadding = Nuovo Spessore(5, 0, 5, 0); t.Padding = thisPadding; t.FontSize = 12; ListBoxItem li = Nuovo ListBoxItem(); li.Contenuto = t; li.MaxHeight = 25; thisPadding = Nuovo Spessore(5, 0, 5, 0); li.Imbottitura = thisPadding; GameStateLog.Items.Insert(0,li); }
in precedenza, Sto creando una casella di testo e impostare il tipo di carattere, sua imbottitura, ecc.
Successivo, Creo un oggetto ListBoxItem e impostarne il contenuto nella casella di testo formattato.
Infine, Inserire l'oggetto ListBoxItem in ListBox. (Voglio mostrare i messaggi più recenti in cima alla lista, da qui l'inserto(0,li) invece di un semplice Add() invocazione.).
Sarà essere tweaking questo un po ' prima che io sono davvero felice con il comportamento del controllo ListBox, ma il modello sopra indicato è stato molto proficuo. Speriamo che qualcun altro lo trova utile.
</fine>
Seguimi su Twitter a http://www.twitter.com/pagalvin