2011-12-06 37 views
1

我发展在WPF该多点触控的应用程序使用Visual Studio 2010启用旋转/缩放与WPF视频在Visual Studio 2010

我有如下问题:

我试图使用旋转,多点触控缩放和其他效果(如ipad风格的画廊)。

谁能告诉我该怎么做,与媒体元素?对于图像,你看我有没有问题,而且旋转/缩放工作正常。

来源是如下:

<Window x:Class="TouchRect.MainWindow" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:local="clr-namespace:TouchRect" 
    Title="MainWindow" Height="600" Width="800"> 
<Grid Width="auto"> 
    <local:RulerCanvas x:Name="canvas" > 
     <!--<ListBox ScrollViewer.HorizontalScrollBarVisibility="Disabled" Height="215" Width="736"> 
      <ListBox.ItemsPanel> 
       <ItemsPanelTemplate> 
        <UniformGrid Columns="3" HorizontalAlignment="Center" VerticalAlignment="Stretch"/> 
       </ItemsPanelTemplate> 
      </ListBox.ItemsPanel>--> 
     <Image x:Name="image3" Width="74" Height="49" IsManipulationEnabled="True" Source="flower3.jpg" Canvas.Left="239" Canvas.Top="-273"> 
      <Image.RenderTransform> 
       <MatrixTransform Matrix="2.41806325085411,0,0,2.41806325085411,280.737615796121,292.420001677231" /> 
      </Image.RenderTransform> 
     </Image> 
     <Image x:Name="image2" Width="64" Height="49" IsManipulationEnabled="True" Source="flower2.jpg" VerticalAlignment="Stretch" Canvas.Left="-236" Canvas.Top="-272"> 
      <Image.RenderTransform> 
       <MatrixTransform Matrix="2.41806325085411,0,0,2.41806325085411,280.737615796121,292.420001677231"/> 
      </Image.RenderTransform> 
     </Image> 
     <StackPanel Orientation="Horizontal" Margin="0,10,0,0"></StackPanel> 


     <Image x:Name="image" Width="74" Height="49" IsManipulationEnabled="True" Source="flower.jpg" Stretch="Fill" HorizontalAlignment="Center" Canvas.Left="-7" Canvas.Top="-271"> 
      <Image.RenderTransform> 
       <MatrixTransform Matrix="2.41806325085411,0,0,2.41806325085411,280.737615796121,292.420001677231" /> 
      </Image.RenderTransform> 
     </Image> 
     <MediaElement x:Name="media" Source="C:\Users\Public\Videos\Sample Videos\Wildlife.wmv" Width="633" Height="366" Canvas.Left="65" Canvas.Top="164" LoadedBehavior="Manual" IsManipulationEnabled="True" /> 

     <!--</ListBox>--> 
    </local:RulerCanvas> 

</Grid> 

非常感谢!

+0

我不是那个意思,你应该问完全相同的问题,但询问得到一个嵌入式参考/交互性工作。这与您之前的问题**完全相同,除了点**之外,它违反了准则。 –

+0

对不起!我想你的意思是问这个问题,这样任何人都可以阅读和帮助。 –

+0

一旦问了一个问题,唯一“合法”的方式来关注它是通过赏金或相关的编辑碰到问题。 –

回答

1

如果要旋转媒体元素,你应该能够做到这一点是这样的:

<MediaElement Source="vid.wmv"> 
    <MediaElement.LayoutTransform> 
     <TransformGroup> 
      <RotateTransform Angle="-30"/> 
     </TransformGroup> 
    </MediaElement.LayoutTransform> 
</MediaElement> 
+0

哦,谢谢!但我必须在多点触控的情况下做到这一点。然后用双指捏缩放或旋转。像iPad一样。 –

+0

如果您知道如何处理wpf中的触摸输入,则可以计算角度并将该角度应用于媒体元素。以下是如何读取触摸输入的示例: http://msdn.microsoft.com/en-us/library/ee649090.aspx – peer