Thay đổi kích thước Canvas Theo kích thước của lưới

lập trình


CHÀO,

Tôi có lưới có kích thước cố định. Trong đó tôi đang sử dụng casvas để vẽ các hình có tọa độ, chiều cao và chiều rộng cụ thể.

Bây giờ tôi phải đặt khung vẽ theo chiều rộng và chiều cao của lưới.

Bạn có thể vui lòng cho tôi biết làm thế nào nó có thể đạt được.

Cảm ơn trước!

Trân trọng
Govardhan

Giải pháp 1

Nếu bạn muốn tạo một lưới có canvas trong đó bằng xaml, bạn có thể viết điều này:

<grid x:name="grid1" removed="Red" width="300" height="200">
        <canvas x:name="canv1" width="50" height="20" removed="Green"></canvas>
  </grid>

Nếu muốn đạt được mục tiêu tương tự theo chương trình, bạn nên “tự động” chiều rộng và chiều cao của khung vẽ và kéo dài căn chỉnh theo chiều ngang và chiều dọc của khung vẽ:

C#
canv1.Width = Double.NaN
        canv1.Height = Double.NaN
        canv1.HorizontalAlignment = Windows.HorizontalAlignment.Stretch
        canv1.VerticalAlignment = Windows.VerticalAlignment.Stretch

Giải pháp 3

Thực hiện các thay đổi đối với giải pháp 1 đã đề cập ở trên để đạt được điều này. Trong giải pháp 1, Chiều rộng và Chiều cao đã được sử dụng nhưng không bắt buộc. Nếu bạn muốn triển khai giải pháp cho Xaml thì hãy sử dụng đoạn mã sau:

<Grid x:Name="grid1"   Width="300" Height="200">
    <Canvas x:Name="canv1"  Background="Red">

    </Canvas>
</Grid>

Tìm liên kết đã được kiểm tra:

CodeProject01.png – Google Drive[^]

コメント

タイトルとURLをコピーしました