WPF 触摸屏多点触控图像的缩放旋转和移动

<dxc:DXWindow xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"  
              xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid"   x:Class="MESClient.Unit.BIL.ICMO.ImageChild"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
         xmlns:dxc="http://schemas.devexpress.com/winfx/2008/xaml/core"
              xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
              xmlns:ei="http://schemas.microsoft.com/expression/2010/interactions"
                xmlns:dxgt="http://schemas.devexpress.com/winfx/2008/xaml/grid/themekeys"
            
        Title="图片缩放"   WindowState="Maximized" Closing="DXWindow_Closing" x:Name="wnd">

    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition />
            <RowDefinition Height="100"/>
        </Grid.RowDefinitions>
        <Canvas  Width="{Binding Path=ActualWidth,ElementName=wnd}"  Height="{Binding Path=ActualHeight,ElementName=wnd}">
            <Canvas x:Name="picShow" ClipToBounds="True" Canvas.Left="0" Canvas.Top="0"    Width="{Binding Path=ActualWidth,ElementName=wnd}"  Height="{Binding Path=ActualHeight,ElementName=wnd}">
                <i:Interaction.Behaviors>
                    <ei:TranslateZoomRotateBehavior x:Name="eiPic" TranslateFriction="0.1" RotationalFriction="0.1"/>
                </i:Interaction.Behaviors>
                <Image x:Name="image1"     Source="{Binding ImagePath}"    Width="{Binding Path=ActualWidth,ElementName=wnd}"  Height="{Binding Path=ActualHeight,ElementName=wnd}"/>
            </Canvas>

        </Canvas>
        <Button Grid.Row="1" HorizontalAlignment="Right" Margin="5,10" Content="关闭" Click="Button_Click" TouchDown="Button_TouchDown"/>
    </Grid>
   
</dxc:DXWindow>

效果蛮好的

猜你喜欢

转载自www.cnblogs.com/czly/p/10222587.html