C# 仅在windows应用商店应用程序中在画布内缩放和拖动图像

C# 仅在windows应用商店应用程序中在画布内缩放和拖动图像,c#,xaml,winrt-xaml,windows-8.1,C#,Xaml,Winrt Xaml,Windows 8.1,在过去的一周里,我一直在努力在画布的范围内转换图像 void image_ManipulationDelta(object sender, ManipulationDeltaRoutedEventArgs e) { var name = (Image)sender; var translate = (CompositeTransform)name.RenderTransform; var newPosX = Canvas.GetLeft(name) + translate.Transl

在过去的一周里,我一直在努力在画布的范围内转换图像

void  image_ManipulationDelta(object sender, ManipulationDeltaRoutedEventArgs e)
{
var name = (Image)sender;    
var translate = (CompositeTransform)name.RenderTransform;
var newPosX = Canvas.GetLeft(name) + translate.TranslateX + e.Delta.Translation.X;
var newPosY = Canvas.GetTop(name) + translate.TranslateY + e.Delta.Translation.Y;
if (!isBoundary(newPosX, DrawCanvas.ActualWidth - name.ActualWidth, 0))
translate.TranslateX += e.Delta.Translation.X;
if (!isBoundary(newPosY, DrawCanvas.ActualHeight - name.ActualHeight, 0))
translate.TranslateY += e.Delta.Translation.Y;
}
bool isBoundary(double value, double max, double min)
        {
            return value > max ? true : value < min ? true : false;
        }
}

缩放也完成了,但不限于画布内部,当我缩放图像使其变大时,其画布也在缩放,当我缩小其大小时,其画布(拖动)区域也在缩小。
需要帮助限制缩放及其画布问题

尝试将CenterX/Y设置为.5/.5。我认为这些可能基于0..1范围。同样的行为,我只想限制画布内的缩放,并提供一条超出限制的消息等?我认为我的代码不适用于画布内的所有类型的转换。我的代码中需要添加什么?
translate.CenterX=.5
{
     var translate = (CompositeTransform)name.RenderTransform;
     translate.CenterX = name.ActualWidth / 2;
     translate.CenterY = name.ActualHeight / 2;
     translate.ScaleX += e.Delta.Translation.X*0.001 ;
     translate.ScaleY += e.Delta.Translation.Y*0.001;