Trong khi một số điều khiển WPF lấp đầy tất cả không gian có sẵn khi được bố trí và hiển thị, những người khác thì không. Cụ thể, điều khiển Hình ảnh không phải là loại tự thiết lập kích thước của nó, ví dụ: trong trường hợp bạn không chỉ định kích thước của đối tượng một cách rõ ràng với thuộc tính chiều rộng/chiều cao hoặc tương tự.
Nhưng điều khiển lưới sẽ lấp đầy tất cả không gian có sẵn khi thiếu thuộc tính xác định kích thước. Mẫu Page/Window trong Visual Studio có một điều khiển Grid là con của điều khiển gốc trang/cửa sổ, và khi người dùng bắt đầu đặt các điều khiển trên một trang trong trình soạn thảo đồ họa, các điều khiển do người dùng thêm đầu tiên trở thành con của lưới này điều khiển.
Nếu bạn đã sử dụng mẫu VS và điều khiển hình ảnh của bạn là con của điều khiển lưới đã cho biết, hãy đặt tên cho lưới của bạn bằng thuộc tính x: Name và bạn có thể sử dụng thuộc tính ActualWidth/Height của Grid cho nhu cầu của mình code-behind, bởi vì điều khiển hình ảnh lớn lên đến kích thước lưới bố mẹ của nó - miễn là bạn không chỉ định kích thước của nó một cách rõ ràng hay cách khác, tức là, thiết lập nội dung Hình ảnh.
Nhân tiện, hành vi định cỡ của các điều khiển tích hợp có thể được thay đổi. Bạn có thể sửa đổi một điều khiển và ghi đè các thuộc tính phụ thuộc tương ứng. Xem, ví dụ: https://stackoverflow.com/a/6094993.
Nguồn
2017-11-28 10:05:44
Tôi đã thử thực hiện việc này. Nhưng kết quả là như nhau ( –
@TimurMustafaev Làm thế nào bạn đang cố gắng để có được các giá trị? Thông qua mã đằng sau? Thông qua một ràng buộc? Và khi nào bạn đang cố gắng để có được các giá trị? Kiểm soát phải được trả trước 'ActualHeigh' và' ActualWidth' – Rachel
Tôi gọi mẫu mới từ MainWindow của tôi.Trong hình thức mới này có fiew điều khiển và một trong số họ là hình ảnh.Sau khi cửa sổ nạp tôi cố gắng để có được kích thước như thế này: _imageControl.ActualWidth hoặc _imageControl.ActualHeigh –