我试图让一个视图框放大相对于夹点移动中心的特定位置。我可以抓住这个事件,但我似乎无法理解不同的价值观。
在pinchmanipulation中我应该使用pinchmanipulation.Current还是pinchmanipulation.origin?
如何计算精确的中间值,使其不依赖于我的捏动方向。
目前这就是我正在做的事情:
<Viewbox Stretch="UniformToFill" RenderTransformOrigin="{Binding Points}">
<Viewbox.RenderTransform>
<CompositeTransform ScaleX="{Binding Map.deltaZoom}" ScaleY="{Binding Map.deltaZoom}" TranslateX="{Binding Map.TranslateX}" TranslateY="{Binding Map.TranslateY}"/>
</Viewbox.RenderTransform>
<View:PlayingMap/>
</Viewbox>
`
我操作的代码:
public void ZoomDelta(ManipulationDeltaEventArgs e)
{
FrameworkElement Element = (FrameworkElement)e.OriginalSource;
Viewbox PlayingMap;
if (Element is Viewbox)
{
PlayingMap = Element as Viewbox;
}
else
{
PlayingMap = FindParentOfType<Viewbox>(Element);
}
if (e.PinchManipulation != null)
{
//Place for code
}
}