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. برای این منظور, من اضافه بدهیم به شرح زیر است:
<بدهیم *:نام ="GameStateLog" HorizontalAlignment ="مرکز" ارتفاع ="221" VerticalAlignment ="بالا" عرض ="499" بالشتک ="0" FontSize ="10">
کد C # به پر به ListBox در زمان اجرا در امتداد خطوط:
GameStateLog.Items.Insert(0, GameStateCounter + ": حالت بازی جدید: انتظار برای پخش 1 نام");
This worked out fine enough but the UI showed a crazy amount of padding around the individual messages as they were added. این را حس می کند اگر من می خواهم کاربران نهایی را قادر به انتخاب این آیتم، اما معنی ندارد وقتی که من فقط می خواهم برای نشان دادن یک سری در حال اجرا از پیام های ورود به سیستم - از کاربران خواهد این را انتخاب کنید, just view them. به طرز عجیبی سخت بود برای پیدا کردن یک راه آسان برای انجام این کار و مسلما, the way I found it isn’t necessarily “easy” but I got it working OK. بینش کلیدی از این ارسال اینجا (http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/c4a6f694-bd46-4779-ab83-b1c2fcb2397c) from Bob Relyea. به جای اضافه کردن رشته ها به جمع آوری اقلام در به ListBox, add ListBoxItems. با اضافه کردن یک رشته, the ListBox was creating its own ListBoxItem on its own. I wasn’t able to affect anything about that ListBoxItem after the fact. کد جدید:
خصوصی از درجه اعتبار ساقط AddGameStateLogMessage(رشته theMessage) { ListBoxItem که = جدید ListBoxItem(); li.Content = theMessage; li.MaxHeight = 25; ضخامت thisPadding از = جدید ضخامت(5, 0, 5, 0); li.Padding = thisPadding; GameStateLog.Items.Insert(0,لی); }
Here I’m creating ListBoxItem’s and inserting them. من بالشتک اضافی با تنظیم ضخامت آن حذف.
این است که بسیار انعطاف پذیر است که من قصد به انجام برخی از برنامه نویسی به برجسته انواع خاصی از پیام ها و رنگ با مستقیما اضافه کردن ListBoxItems های من به سبک آنها را به هر راه که من می خواهم.
امیدواریم که این کمک می کند تا کسی!
</پایان>
من در توییتر در http://www.twitter.com/pagalvin