tutorial - wpf microsoft
Control de zoom a la forma WPF (4)
¿Cómo puedo implementar un control de zoom en mis formularios wpf similar al disponible en el diseñador de estudio visual?
¡Gracias!
Coloque sus cosas en una cuadrícula, vincule la transformación de renderizado de escala de la cuadrícula a un control deslizante (el control deslizante debe tener un valor mínimo de 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>
Debes echarle un vistazo a este artículo de Mitsu Furuta (¡no te preocupes por el título divertido!). No estoy seguro de si cumple exactamente con sus requisitos, pero podría darle algunas ideas ...
Para obtener un control de zoom profesional para WPF, visite el ZoomPanel .
No es gratis, pero es muy fácil de usar y tiene muchas características: zoom y desplazamiento animados, soporte para ScrollViewer, soporte para la rueda del ratón, incluido ZoomController (con movimiento, acercar, alejar, alejar el rectángulo, botones de reinicio). También viene con muchos ejemplos de código.
Tal vez podría probar el control de zoom que es parte de las extensiones de WPF disponibles en Codeplex :