2009-01-02 39 views

Trả lời

10

Vâng, theo thiết kế. StackPanel sẽ phân bổ không gian TextBox yêu cầu. Nếu bạn chưa đặt chiều rộng trên TextBox, nó sẽ chỉ yêu cầu đủ chiều rộng để vừa với văn bản của nó.

7

Câu trả lời của Kent có vẻ đúng.
Để vẫn buộc ghi đè hành vi StackPanel, tôi nghĩ bạn cần tính toán động thiết lập thuộc tính Chiều rộng của các phần tử được chứa HOẶC một số ghi đè thú vị của MeasureOverride. Tôi muốn sử dụng một trình quản lý/bảng điều khiển bố cục khác. Một số điều cần lưu ý tôi ..

  • Giá trị mặc định cho thuộc tính HorizontalAlignment và VerticalAlignment của phần tử con là Stretch (nếu bạn không xác định một cách rõ ràng).
  • StackPanel sẽ kéo giãn các phần tử dựa trên giá trị thuộc tính Định hướng của nó. Vì vậy,

    • Định hướng = Ngang nghĩa là tất cả các thành phần sẽ được kéo dài theo chiều dọc đến giá thầu CPC Các phần tử theo chiều ngang.
    • Định hướng = Dọc nghĩa là tất cả các phần tử sẽ được kéo giãn theo chiều cao đến tối đa. Các yếu tố chảy theo chiều dọc.
  • Trừ khi được chỉ định rõ ràng, Chiều rộng và Chiều cao của các phần tử con là NaN. Nếu bạn chỉ định một giá trị rõ ràng, StackPanel sẽ tôn vinh chúng trên các thiết lập Horiz và Vert Alignment.
  • Bản thân StackPanel có HorizontalAlignment và VerticalAlignment cho biết thêm một bước xoay tiếp theo. Bạn có thể thử nghiệm với điều này example.

StackPanel

Giá trị mặc định là rạn da dùng cho cả HorizontalAlignment và VerticalAlignment của nội dung đó là chứa trong một StackPanel.

HorizontalAlignment

Khi Height và Width tính là rõ ràng đặt trên một phần tử, những đo mất tiền lệ cao hơn trong bố trí và sẽ hủy hiệu ứng đặc trưng của thiết HorizontalAlignment Stretch.

4

Tôi cần các mục cần phải có kích thước đồng đều, nhưng được xếp chồng lên nhau theo chiều dọc.

tôi đã sử dụng một UniformGrid, và thiết lập các Cột tài sản để 1. (thử nghiệm với một TextBox, và nó kéo dài như bạn muốn)

+0

Đây là câu trả lời chính xác tôi cần thiết cho một vấn đề bố trí tương tự với Buttons. Cảm ơn! –

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