在xaml中,我将画布定义为:
<Canvas Name="GameCanvas">
<Canvas.RenderTransform>
<CompositeTransform x:Name="CanvasRenderTransform" />
</Canvas.RenderTransform>
在C#中,我定义了以下位置,用于存储初始比例并在受到挤压时对其进行修改:
private void GestureListener_DragDelta(object sender, DragDeltaGestureEventArgs e)
{
Point p = e.GetPosition(GameCanvas);
CanvasRenderTransform.TranslateX = p.X - originDragPoint.X;
CanvasRenderTransform.TranslateY = p.Y - originDragPoint.Y;
}
private void GestureListener_DragStarted(object sender, DragStartedGestureEventArgs e)
{
originDragPoint = e.GetPosition(GameCanvas);
}
有人知道为什么当我移动它时它会闪烁并且移动得很差吗?
最佳答案
解决方案是使用DP CacheMode。这允许在第一次渲染通过后将视觉元素存储为位图。我们将更好地利用GPU。
在混合,变换(平移,拉伸,旋转)的情况下,应使用BitmapCaching。
检查此link以获得解释和精彩视频。
关于c# - 如何获得更流畅的翻译?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15968531/