Tại sao một hộp văn bản không thể lấp đầy không gian trong ngăn xếp? Đây có phải là do thiết kế không? Trong một lưới, hộp văn bản trải dài như mong đợi.WPF - thiết lập HorizontalAlignment = Kéo dài đến Textbox trong StackPanel
Trả lời
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ó.
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.
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.
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.
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)
- 1. Hộp văn bản WPF Kéo dài
- 2. Làm thế nào để thiết lập nền trong StackPanel
- 3. Hãy TextBox căng để điền vào chiều rộng trong StackPanel
- 4. WPF StackPanel Layout Câu hỏi
- 5. thiết lập hình ảnh cho UIBarButtonItem - hình ảnh kéo dài
- 6. HorizontalAlignment = Stretch, MaxWidth và Căn trái cùng một lúc?
- 7. WPF Grid vs Stackpanel
- 8. Bản vẽ WPF trải dài mà không kéo dài Pen
- 9. WPF CommandParameter trong Textbox
- 10. WPF stackpanel visibilty hoạt hình
- 11. Thay đổi mẫu WPF StackPanel
- 12. Các mục kéo dài để tô đầy vải
- 13. Dừng WPF TextBox phát triển với văn bản
- 14. ListViewItem sẽ không kéo dài đến độ rộng của một ListView
- 15. WPF SystemColors: màu của đường viền TextBox
- 16. Set tập trung vào textbox trong WPF
- 17. mở WPF Popup trên TextBox tập trung
- 18. textbox phân đoạn trong WPF
- 19. Tròn góc TextBox trong WPF
- 20. Kéo dài WPF ListView trống để chiếm không gian còn lại
- 21. wpf textbox textwrapping
- 22. Di chuyển đến cuối một dòng WPF TextBox
- 23. Sử dụng StackPanel làm ContentControl (WPF)
- 24. TextBlock TextWrapping không gói bên trong StackPanel
- 25. Điền vào tất cả không gian có sẵn trong StackPanel
- 26. Kéo và thả WinForms để kéo và thả WPF
- 27. WPF: Không thể thả kéo dữ liệu lên một ItemsControl
- 28. Lập trình thiết lập ComboBox SelectedItem trong WPF (3.5sp1)
- 29. Điều khiển kéo dài để điền vào ItemsControl
- 30. WPF phụ thuộc Bất động sản không được thiết lập
Đâ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! –