C# Windows通用应用程序中的增量操作

C# Windows通用应用程序中的增量操作,c#,windows-8.1,windows-phone-8.1,win-universal-app,C#,Windows 8.1,Windows Phone 8.1,Win Universal App,我发现这正是我所需要的。但它在通用应用程序中不起作用 Xaml: 以下是错误: “Windows.UI.Xaml.Input.OperationDeltaRouteDeventargs”不包含“DeltaManipulation”的定义,并且找不到接受“Windows.UI.Xaml.Input.OperationDeltaRouteDeventargs”类型的第一个参数的扩展方法“DeltaManipulation”(是否缺少using指令或程序集引用?) 如何修复它?根据MSDN,Windo

我发现这正是我所需要的。但它在通用应用程序中不起作用

Xaml:

以下是错误:

“Windows.UI.Xaml.Input.OperationDeltaRouteDeventargs”不包含“DeltaManipulation”的定义,并且找不到接受“Windows.UI.Xaml.Input.OperationDeltaRouteDeventargs”类型的第一个参数的扩展方法“DeltaManipulation”(是否缺少using指令或程序集引用?)


如何修复它?

根据MSDN,
Windows.UI.Xaml.Input.operationDeltaroutedEventArgs
具有属性,而不是
DeltaManipulation
。因此,尝试将
增量操作
替换为
增量操作

if (transform != null)
{
    transform.ScaleX *= e.Delta.Scale;
    .....
    .....
}

是的,就是它!它适用于带有触摸屏的设备。你知道如何使用鼠标缩放吗?控制+鼠标滚轮不工作。
public MainPage()
{
    InitializeComponent();

    // Add handler for the ManipulationDelta event
    TestRectangle.ManipulationDelta += new ManipulationDeltaEventHandler((sender, e) =>
    {
        UIElement element = sender as UIElement;
        CompositeTransform transform = element.RenderTransform as CompositeTransform;
        if (transform != null)
        {
            transform.ScaleX *= e.DeltaManipulation.Scale;
            transform.ScaleY *= e.DeltaManipulation.Scale;
            transform.Rotation += e.DeltaManipulation.Rotation * 180 / Math.PI;
            transform.TranslateX += e.DeltaManipulation.Translation.X;
            transform.TranslateY += e.DeltaManipulation.Translation.Y;
        }
    });

    TestRectangle.RenderTransform = new CompositeTransform();
}
if (transform != null)
{
    transform.ScaleX *= e.Delta.Scale;
    .....
    .....
}