0
我下面的教程和定義(在XAML文件)的Ellipse
對象位於屏幕的中心,並且其中包含一個Ellipse.RenderTransform
節點內的TranslateTransform
節點如下:如何累計拖動Ellipse對象?
<Ellipse
x:Name="theEllipse"
Fill="White"
Width="200"
Height="200">
<Ellipse.RenderTransform>
<TranslateTransform x:Name="theMover" />
</Ellipse.RenderTransform>
</Ellipse>
在後面的代碼
public MainPage()
{
// other stuff
theEllipse.ManipulationDelta
+= new EventHandler<ManipulationDeltaEventArgs>(theEllipse_ManipulationDelta);
}
void theEllipse_ManipulationDelta(object sender, ManipulationDeltaEventArgs e)
{
theMover.X = e.CumulativeManipulation.Translation.X;
theMover.Y = e.CumulativeManipulation.Translation.Y;
}
因此我可以在Ellipse
向下按壓,並從它的起始位置拖動它:我下面增加一個ManipulationDelta
事件處理程序Ellipse
。然而,我發現,當我釋放Ellipse
並再次按下它時,Ellipse
跳躍並開始從其初始位置拖動而不是其當前位置。爲什麼是這樣?而且,如何將我的拖動操作定義爲累積性的,即當我再次拖動橢圓時,它包含來自哪裏的拖動操作?