pg9*_*g90 5 c# xaml windows-8 pinchzoom windows-8.1
有没有办法在Windows 8.1中实现捏合和缩放XAML内的图像控制,我正在尝试操纵delta事件.但是这个事件没有被解雇,我也尝试设置ManipulationMode ="All".
<Image x:Name="kn" ManipulationMode="All" ManipulationDelta="kn_ManipulationDelta" HorizontalAlignment="Center" VerticalAlignment="Center" Height="315" Width="360" RenderTransformOrigin="0.5, 0.5">
<Image.RenderTransform>
<CompositeTransform></CompositeTransform>
</Image.RenderTransform>
</Image>
Run Code Online (Sandbox Code Playgroud)
并在cs文件中
private void kn_ManipulationDelta(object sender, ManipulationDeltaRoutedEventArgs e)
{
UIElement element = sender as UIElement;
CompositeTransform transform = element.RenderTransform as CompositeTransform;
if (transform != null)
{
transform.ScaleX *= e.Delta.Scale;
transform.ScaleY *= e.Delta.Scale;
transform.Rotation += e.Delta.Scale / Math.PI;
transform.TranslateX += e.Delta.Translation.X;
transform.TranslateY += e.Delta.Translation.Y;
}
}
Run Code Online (Sandbox Code Playgroud)
有什么我必须设置.或者我必须采取其他方式?
小智 15
您可以使用ScrollViewer控件包装图像,轻松实现此目的.
<ScrollViewer ZoomMode="Enabled">
<Image ............ />
</ScrollViewer>
Run Code Online (Sandbox Code Playgroud)