Saya bekerja pada sebuah jendela toko aplikasi dan salah satu hal-hal yang ingin saya lakukan di app adalah menampilkan log yang menunjukkan pesan status dan tidbits informasi lain seperti pengguna bekerja hal-hal. Untuk tujuan ini, Saya menambahkan suatu ListBox sebagai berikut:
<ListBox x:Nama ="GameStateLog" HorizontalAlignment ="Pusat" Tinggi ="221" VerticalAlignment ="Atas" Lebar ="499" Padding ="0" Ukuran tulisan ="10">
C# kode untuk mengisi listbox pada saat runtime adalah sepanjang baris:
GameStateLog.Items.Insert(0, GameStateCounter + ": Negara permainan baru: menunggu pemain 1 Nama");
Ini bekerja baik-baik saja cukup, tapi UI menunjukkan jumlah gila padding di sekitar pesan individu seperti mereka ditambahkan. Itu masuk akal jika saya ingin pengguna akhir untuk dapat memilih item ini tapi tidak masuk akal ketika saya hanya ingin menunjukkan serangkaian menjalankan pesan log-pengguna tidak akan memilih ini, hanya melihat mereka. Anehnya sulit untuk menemukan cara mudah untuk melakukan ini dan, cara saya menemukan itu tidak selalu "mudah" tapi aku punya itu bekerja OK. Wawasan kunci berasal dari posting ini Sini (http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/c4a6f694-bd46-4779-ab83-b1c2fcb2397c) dari Bob Relyea. Bukannya menambahkan string ke koleksi item pada ListBox, Tambahkan ListBoxItems. Dengan menambahkan string, ListBox menciptakan ListBoxItem sendiri sendiri. Aku tidak bisa mempengaruhi apa-apa tentang ListBoxItem bahwa setelah fakta. Kode baru:
swasta Batal AddGameStateLogMessage(string theMessage) { ListBoxItem li = baru ListBoxItem(); Li.Konten = theMessage; Li.MaxHeight = 25; Ketebalan thisPadding = baru Ketebalan(5, 0, 5, 0); Li.Padding = thisPadding; GameStateLog.Items.Insert(0,Li); }
Di sini saya menciptakan ListBoxItem's dan memasukkan mereka. Aku melepaskan kelebihan padding dengan menetapkan ketebalannya.
Hal ini cukup fleksibel karena aku berniat untuk melakukan beberapa warna coding untuk menyorot tertentu jenis pesan dan dengan langsung menambahkan ListBoxItems aku bisa gaya mereka cara apapun yang saya inginkan.
Semoga ini bisa membantu seseorang!
</akhir>
Ikuti saya di kegugupan di http://www.twitter.com/pagalvin