Tôi đang làm việc trên một cửa sổ cửa hàng ứng dụng và một trong những điều tôi muốn làm trong các ứng dụng là hiển thị một bản ghi Hiển thị thông điệp trạng thái và rẻ quạt thông tin khác khi người dùng hoạt động điều. Để kết thúc này, Tôi thêm một ListBox như sau:
<ListBox x:Tên ="GameStateLog" HorizontalAlignment ="Trung tâm" Chiều cao ="221" VerticalAlignment ="Đầu trang" Chiều rộng ="499" Đệm ="0" FontSize ="10">
C# mã cư listbox tại thời gian chạy dọc theo dòng:
GameStateLog.Items.Insert(0, GameStateCounter + ": Nước trò chơi mới: chờ đợi cho cầu thủ 1 Tên");
Điều này làm việc ra tốt đẹp đủ nhưng giao diện cho thấy một số tiền điên của padding xung quanh các tin nhắn cá nhân như họ đã được thêm vào. Có ý nghĩa nếu tôi muốn người dùng cuối có thể chọn những mục này nhưng không làm cho tinh thần khi tôi chỉ muốn hiển thị một loạt chạy các thông điệp ghi-người dùng sẽ không chọn các, chỉ cần xem chúng. Đó là kỳ lạ khó để tìm một cách dễ dàng để làm điều này và cho là, cách tôi tìm thấy nó không phải là nhất thiết phải "dễ dàng" nhưng tôi đã nhận nó làm việc OK. Sự thấu hiểu chính đến từ bài này Ở đây (http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/c4a6f694-bd46-4779-ab83-b1c2fcb2397c) từ Bob Relyea. Thay vì thêm dây cho việc thu thập các mục trên ListBox, Thêm ListBoxItems. Bằng cách thêm một chuỗi, ListBox đã tạo ra ListBoxItem của riêng của nó ngày của riêng mình. Tôi đã không thể ảnh hưởng đến bất cứ điều gì về ListBoxItem đó thực tế. Mã mới là:
tư nhân void AddGameStateLogMessage(chuỗi theMessage) { ListBoxItem li = mới ListBoxItem(); Li.Nội dung = theMessage; con số khôngMaxHeight = 25; Độ dày thisPadding = mới Độ dày(5, 0, 5, 0); con số khôngĐệm = thisPadding; GameStateLog.Items.Insert(0,Li); }
Ở đây tôi là tạo ra của ListBoxItem và chèn chúng. Tôi gỡ bỏ padding dư thừa bằng cách đặt độ dày của nó.
Điều này là khá linh hoạt như tôi có ý định làm một số màu sắc mã hóa để làm nổi bật đặc biệt các loại tin nhắn và bằng trực tiếp thêm ListBoxItems tôi nhận được phong cách họ bất kỳ cách nào tôi muốn.
Hy vọng điều này sẽ giúp người nào đó!
</kết thúc>
Theo tôi trên Twitter lúc http://www.twitter.com/pagalvin