2009-05-11 14 views

risposta

24

mettere la roba in una griglia, si legano scala della griglia di rendering trasformazione ad un cursore (cursore deve avere un valore minimo di 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

È possibile utilizzare 'LayoutTransform' per lo zoom, questo consentirà a qualsiasi controllo padre' ScrollViewer' di mostrare le barre di scorrimento correttamente. –

+0

@Brett: Grazie! Il tuo commento ha risposto perfettamente alla mia domanda correlata! – Beska

+0

punto minore ma tutti FramewrokElements hanno Render/LayoutTransform quindi la griglia non è un elemento necessario qui –

1

si dovrebbe avere uno sguardo a this article da Mitsu Furuta (don' t preoccupati per il titolo divertente!). Non sono sicuro se esso soddisfa le vostre esigenze esattamente, ma potrebbe darvi qualche idea ...

1

Per ottenere un controllo dello zoom professionale per WPF controlla il ZoomPanel.

non è gratuito, ma è molto facile da usare e ha molte caratteristiche - animato zoom e panoramica, il supporto per ScrollViewer, supporto per la rotellina del mouse, incluso ZoomController (con spostamento, zoom in, zoom out, rettangolo di zoom, pulsanti di reset). Inoltre viene fornito con molti esempi di codice.