lưu trữ hàng tháng: Có thể 2013

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