Tôi có, trong một cửa sổ, Grid
có chứa RadioButton
, một TextBox
và Button
, mỗi cột trong cột 0, 1, 2 tương ứng. Tất cả đều có chiều cao của họ được thiết lập để tự động.WPF: Ràng buộc chiều cao của một thành phần với một thành phần khác là
Sau đó, trong một phần khác của cửa sổ, tôi có một Grid
với một Label
, một TextBox
và Button
, trong cột 0, 1, và 2. Heights cũng được thiết lập để tự động.
Vấn đề tôi có là chiều cao của lưới đầu tiên nhỏ hơn chiều cao của lưới thứ hai. Tôi đoán đó là vì Label đang buộc cái thứ hai cao hơn. Làm thế nào tôi có thể làm cho nó để lưới đầu tiên là cao như thứ hai? Tôi đã thử làm điều này:
Đặt tên hộp văn bản trong lưới thứ hai SomeName.
Trong các <Grid.ColumnDeclarations>
của lưới đầu tiên, tôi đã thay đổi chiều cao từ "tự động" thành "{Binding ElementName = SomeName, Path = Height}".
Nhưng điều đó không làm những gì tôi muốn. Kích thước là như nhau. Tôi đoán Binding là về cơ bản nhận được "tự động" và ném nó ở đó, mà kết thúc lên được điều tương tự.
Ngoài ra, tôi đang tìm một giải pháp không liên quan đến việc đặt độ cao thành giá trị cố định.
Điều đó không có tác dụng. Cách duy nhất tôi có nó để làm việc là thêm một nhãn và giấu nó. Argh. – zxcvbnm
Tò mò. Tôi đã thử nghiệm nó trước khi đăng bài, mặc dù với một TextBlock hơn là một TextBox. Có lẽ một vấn đề với lợi nhuận được thêm vào bởi lưới (Tôi muốn liên kết với ActualHeight của RowDefinition khác để tránh vấn đề này, nhưng điều đó không làm việc). – itowlson
Đây thực sự là câu trả lời đúng. – Cogent