Đảm bảo rằng con đường của bạn nhỏ hơn StackPanel của bạn. Cách dễ nhất cho một con đường rất dễ là di chuyển dấu phẩy trong mọi số (tức là chia mọi thứ thành 10 hoặc 100 trong DịchZ), hoặc cho các đường dẫn phức tạp hơn, thêm một LayoutTransform (giảm hệ số tỷ lệ khi cần):
<StackPanel x:Name="TrackSurface">
<Path Fill="AliceBlue" Stroke="Black" StrokeThickness="1"
Data="{StaticResource TranslateZ}">
<Path.LayoutTransform>
<ScaleTransform ScaleX="0.1" ScaleY="0.1"/>
</Path.LayoutTransform>
</Path>
</StackPanel>
một số chú thích:
tôi đã có một vấn đề tương tự, với một mẫu nút có chứa một con đường. Kích thước "tự động" của nút được xác định bởi đường dẫn, vì đường dẫn có kích thước lớn nhất của nội dung mẫu.
Điều này tự nó có thể không bật ra như một vấn đề, bởi vì nếu bạn chỉ định của nút chiều cao/chiều rộng, hoặc nếu của nút Horizontal-/VerticalAlignment được thiết lập để kéo dài, tất nhiên con đường sẽ mở rộng quy mô.
Đối với các giá trị khác của Horizontal-/VerticalAlignment Tuy nhiên, kích thước nút được xác định bởi số lượng của không gian theo yêu cầu của nội dung của nó, mà trong trường hợp của tôi dẫn đến một nút với gốc kích thước của con đường.
Nguồn
2011-08-16 23:02:42
Cảm ơn Kishore. Nó không hoạt động trong trường hợp của tôi. Tôi có một Grid với một UserControl liên tiếp, Path là trong UserControl. Nó không được mở rộng chiều rộng cột. Đây là lý do tại sao tôi sử dụng một StackPanel. Tôi đã overriden OnRenderSizeChanged trong UserControl để duy trì một tỷ lệ khía cạnh của 1. Vì vậy, đường dẫn cần phải điền vào một UserControl bình phương mà kích thước là chiều rộng cột. Không chắc tôi rõ ràng. Với giải pháp của bạn, chiều rộng cột mở rộng để khớp với hộp xếp chồng ban đầu của Đường dẫn. – 742
@ 742, bạn có thấy câu trả lời của tôi bên dưới không? Tại sao không chỉ sử dụng một ViewBox? (Ok, vì vậy đây là ba tuổi, nhưng ai đó chỉ bình chọn lên câu trả lời của tôi mà mang lại cho tôi trở lại đây.) – MarqueIV
Chỉ cần thêm thông tin. Cách này hoạt động, nhưng bị giới hạn bởi vì bạn đang buộc đường dẫn kéo dài để lấp đầy vùng chứa của nó, điều này có thể không phải lúc nào cũng đúng. Hãy suy nghĩ về biểu tượng cho phái nữ ... một vòng tròn có cây thánh giá ở phía dưới. Nếu đường dẫn của bạn có khoảng trắng được đặt ra mà bạn muốn tâm của vòng tròn nằm ở giữa khu vực hiển thị, đường dẫn của bạn phải có tọa độ có liên quan đến vùng chứa của nó. Đặt vùng chứa (Grid) thành kích thước của khoảng cách, sau đó đặt đường dẫn trong đó. (Tiếp theo bên dưới ...) – MarqueIV