Как я могу реализовать управление масштабированием в своих форматах wpf, похожих на один avaialble в дизайнере визуальной студии?
спасибо!
Как я могу реализовать управление масштабированием в своих форматах wpf, похожих на один avaialble в дизайнере визуальной студии?
спасибо!
Поместите свои вещи в сетку, привяжите преобразование рендеринга сетки к ползунку (ползунок должен иметь минимальное значение 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>
Возможно, вы можете попробовать элемент управления масштабированием, который является частью расширений WPF, доступных на Codeplex:
Вы должны взглянуть на эту статью Мицу Фуруты (не беспокойтесь о забавном заголовке!). Я не уверен, точно ли это соответствует вашим требованиям, но это может дать вам некоторые идеи...
Чтобы получить профессиональный Zoom Control для WPF, проверьте ZoomPanel.
Он не является бесплатным, но очень прост в использовании и имеет множество функций: анимированное масштабирование и панорамирование, поддержку ScrollViewer, поддержку колесика мыши, включая ZoomController (с перемещением, масштабированием, уменьшением масштаба, увеличением в прямоугольнике, reset кнопки). Он также содержит множество примеров кода.