2009-05-11 20 views

Trả lời

24

Đặt công cụ của bạn thành một mạng lưới, liên kết quy mô của lưới làm biến đổi đến một thanh trượt (trượt nên có giá trị tối thiểu của 1):

<Grid x:Name="LayoutRoot"> 
     <Grid.RowDefinitions> 
      <RowDefinition Height="0.867*"/> 
      <RowDefinition Height="0.133*"/> 
     </Grid.RowDefinitions> 
     <Slider x:Name="slider" Grid.Row="1" Minimum="1"/> 
     <Grid RenderTransformOrigin="0.5,0.5"> 
      <Grid.RenderTransform> 
       <TransformGroup> 
        <ScaleTransform 
        ScaleY="{Binding Path=Value, ElementName=slider}" 
        ScaleX="{Binding Path=Value, ElementName=slider}"/> 
       </TransformGroup> 
      </Grid.RenderTransform> 
      <TextBox Text="TextBox" Height="45.214" 
VerticalAlignment="Top" Margin="194,139,209,0"/> 
      <TextBox VerticalAlignment="Bottom" 
Text="TextBox" Margin="194,0,209,118.254" Height="48.96"/> 
     </Grid> 
    </Grid> 
+8

Bạn có thể muốn sử dụng 'LayoutTransform' để phóng to, điều này sẽ cho phép bất kỳ phụ huynh' ScrollViewer' điều khiển nào để hiển thị thanh cuộn chính xác. –

+0

@Brett: Cảm ơn! Nhận xét của bạn đã trả lời câu hỏi liên quan của tôi một cách hoàn hảo! – Beska

+0

điểm nhỏ nhưng tất cả FramewrokElements có Render/LayoutTransform nên lưới không phải là yếu tố cần thiết ở đây –

1

Bạn nên có một cái nhìn tại this article bởi Mitsu Furuta (don' t lo lắng về tiêu đề buồn cười!). Tôi không chắc liệu nó có đáp ứng yêu cầu của bạn một cách chính xác, nhưng nó có thể cung cấp cho bạn một số ý tưởng ...

1

Để có được một Control Zoom chuyên nghiệp cho WPF kiểm tra các ZoomPanel.

Nó không phải là miễn phí, nhưng rất dễ sử dụng và có nhiều tính năng - phóng to và thu phóng động, hỗ trợ cho ScrollViewer, hỗ trợ bánh xe chuột, bao gồm ZoomController (với di chuyển, phóng to, thu nhỏ, phóng to hình chữ nhật, nút đặt lại). Nó cũng đi kèm với nhiều mẫu mã.

Các vấn đề liên quan