2009-01-02 33 views
10

Tôi có một combobox trong WPF mà tôi thêm các mục vào lúc chạy (thông qua một ràng buộc dữ liệu vào một Danh sách). Tôi muốn đặt chiều cao của hộp thả xuống động để tất cả (hoặc nhiều nhất) của các mục hiển thị. Thật không may có vẻ như chiều cao của trình đơn thả xuống được đặt một lần và không thể thay đổi động. Nó luôn luôn có vẻ là kích thước tương tự.Thiết lập chiều cao thả xuống của một combobox trong WPF

Có một số tương đối đơn giản để điều chỉnh chiều cao thả xuống không?


Có, tôi đã thử đặt sau khi thêm các mục vào hộp tổ hợp. Trong trình gỡ lỗi, có vẻ như giá trị mới ở đó. Tuy nhiên, khi tôi mở menu thả xuống, nó sẽ giảm xuống theo kích thước của lựa chọn riêng của nó. Tôi đã cố gắng phóng đại MaxDropDownHeight và thậm chí đã đặt nó thành "Tự động" để không có kết quả.

Trả lời

14

Thuộc tính MaxDropDownHeight là thuộc tính phụ thuộc vào hộp tổ hợp kiểm soát chiều cao của danh sách thả xuống. Vì nó là thuộc tính phụ thuộc nên giá trị của nó có thể được thiết lập động.

Bạn đã thử đặt giá trị này chưa?

+0

Lý do đây không phải là câu trả lời hay là vì anh ấy đang gắn thẻ vào Danh sách. Tôi không biết tại sao, nhưng MaxDropDownHeight không có hiệu lực khi liên kết với một danh sách. Nếu bạn thay đổi thành ObservableCollection, giống như những gì @kimmoli nói, nó hoạt động. – BrianVPS

0

Đặt kiểu ComboBox của bạn = {x: Null} để đảm bảo rằng bạn không có vấn đề về kiểu ảnh hưởng đến kích thước bảng điều khiển thả xuống.

4

Đối với tôi, vấn đề là trình đơn thả xuống của ComboBox có chiều cao là 95 pixel đối với số lượng mục.

Nguồn dữ liệu của tôi cho ComboBox là Collection<>, nhưng sau khi thay đổi thành ObservableCollection<>, menu thả xuống ComboBox mở ra hiển thị tất cả các mục.

Hiện tại, thuộc tính MaxDropDownHeight chỉ hoạt động tốt.

Tham khảo: Nhận xét này ở đây Make the dropdown of a combobox be shorter?

+0

Tôi đã sử dụng MaxDropDownHeight – Ziggler

Các vấn đề liên quan