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. Bu məqsədlə, Mən ListBox aşağıdakı kimi əlavə:
<ListBox x:= Adlandırın"GameStateLog" = HorizontalAlignment"Mərkəz" Height ="221" = VerticalAlignment"Yuxarı" Width ="499" Padding ="0" = Yazı tipi ölçüsü"10">
Zamanı da listbox yaşayır üçün C # kodu xətt idi:
GameStateLog.Items.Insert(0, GameStateCounter + ": Yeni oyun dövlət: Oyunçu üçün gözləyir 1 ad");
This worked out fine enough but the UI showed a crazy amount of padding around the individual messages as they were added. Mən son istifadəçilər bu öğeleri seçin, lakin mən yalnız günlük mesaj çalışan sıra göstərmək istəyirəm zaman mənada etmir etmək istəyirəm, əgər anlamlı - Indi bu seçin deyil, just view them. Bu arguably Bunu etmək üçün asan yol tapmaq üçün qəribə çətin idi və, the way I found it isn’t necessarily “easy” but I got it working OK. Əsas fikir bu poçt gəldi burada (http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/c4a6f694-bd46-4779-ab83-b1c2fcb2397c) from Bob Relyea. Əvəzinə ListBox öğeleri toplanması strings əlavə, add ListBoxItems. Bir simli əlavə, the ListBox was creating its own ListBoxItem on its own. I wasn’t able to affect anything about that ListBoxItem after the fact. Yeni kodu edir:
xüsusi ləğv AddGameStateLogMessage(sim theMessage) { ListBoxItem ki = yeni ListBoxItem(); li.Content = theMessage; li.MaxHeight = 25; Qalınlığı = thisPadding yeni Qalınlıq(5, 0, 5, 0); = thisPadding li.Padding; GameStateLog.Items.Insert(0,li); }
Here I’m creating ListBoxItem’s and inserting them. Mən onun qalınlığı ayarlayarak artıq padding çıxarılıb.
Mən mesaj xüsusi növ vurğulamaq üçün kodlaşdırma bir rəng etmək və birbaşa ListBoxItems əlavə I stil onlara istəyirəm hər hansı bir şəkildə almaq istəyirlər Bu olduqca çevik edir.
Bu kimsə kömək ümid edirik!
</son>
Da Twitter məni izləyin http://www.twitter.com/pagalvin