thẻ ghi lưu trữ: Windows lưu trữ

Nhanh chóng và dễ dàng: Thiết lập kích thước của một mục trong một hộp danh sách trong một ứng dụng Windows cửa hàng

Trong một cửa sổ cửa hàng App tôi là tạo ra, Tôi muốn hiển thị cho người dùng các thông tin thư.  Tôi chọn một ListBox là công cụ để hiển thị nó như vậy rằng họ có thể di chuyển qua chúng và tất cả những gì tốt công cụ. 

Các tin nhắn được thông tin chỉ, do đó, không cần phải cung cấp tất cả những gì thêm khoảng trắng xung quanh kể từ khi người dùng có thể không bao giờ chọn chúng cho bất cứ điều gì.  Chế độ mặc định của ListBox cung cấp một số lượng đáng kể của padding và tôi muốn được thoát khỏi nó.  Vâng.... bạn không thể làm điều đó loại điều trên ListBox trực tiếp.  TUY NHIÊN, bạn có thể làm điều đó cho các mục bạn thêm:

        tư nhân void AddGameStateLogMessage(chuỗi theMessage)
        {
            TextBox t = mới Hộp văn bản();
            t.Text = GameStateCounter    + ": " + theMessage;
            t.TextWrapping = TextWrapping.Wrap;
            t.MinWidth = 400;
            Độ dày thisPadding = mới Độ dày(5, 0, 5, 0);
            t.Padding = thisPadding;
            t.FontSize = 12;

            ListBoxItem li = mới ListBoxItem();
            con số khôngNội dung = t;
            con số khôngMaxHeight = 25;
            thisPadding = mới Độ dày(5, 0, 5, 0);
            con số khôngĐệm = thisPadding;

            GameStateLog.Items.Insert(0,Li);
        }

trong các bên trên, Tôi tạo ra một hộp văn bản và thiết lập font, của nó padding, vv.

Tiếp theo, Tôi tạo ra một ListBoxItem và đặt nội dung của nó vào hộp văn bản định dạng.

Cuối cùng, Tôi chèn ListBoxItem thành ListBox.  (Tôi muốn hiển thị các thông điệp gần đây đặt ở đầu danh sách, do đó chèn(0,Li) thay vì một thêm đơn giản() invocation.).

Tôi sẽ tinh chỉnh này một chút trước khi tôi thực sự hài lòng với hành vi ListBox nhưng mô hình hiển thị ở trên đã rất hiệu quả.  Hy vọng rằng ai đó khác tìm thấy nó hữu ích.

</kết thúc>

undefinedĐăng ký vào blog của tôi.

Theo tôi trên Twitter lúc http://www.twitter.com/pagalvin

Thiết lập chiều cao của ListboxItems trong một ListBox lập trình cho các ứng dụng Windows cửa hàng

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>

undefinedĐăng ký vào blog của tôi.

Theo tôi trên Twitter lúc http://www.twitter.com/pagalvin