WPF:从触摸获取指定图像

问题描述:

我添加了图片作为儿童图层称为“画布”。通过以下代码:WPF:从触摸获取指定图像

if (addChild) 
{ 
    Image i = new Image(); 
    BitmapImage src = new BitmapImage(); 
    src.BeginInit(); 
    src.UriSource = new Uri(path, UriKind.Absolute); 
    src.EndInit(); 
    i.Source = src; 
    i.Width = 200; 
    i.IsManipulationEnabled = true; 
    double rotAngle = Rand.GetRandomDouble(-3.14/4, 3.14/4); 

    i.RenderTransform = new MatrixTransform(Math.Cos(rotAngle), -Math.Sin(rotAngle), 
                Math.Sin(rotAngle), Math.Cos(rotAngle), Rand.GetRandomDouble(0, this.Width - i.Width), Rand.GetRandomDouble(0, this.Height - i.Width)); 

    canvasImages.Add(i); 
    canvas.Children.Add(i); 
    Canvas.SetZIndex(i, canvas.Children.Count-1); 
    addedFiles.Add(path); 
    maxZ++; 
} 

这是问题所在。我试图创建一个名为“canvas_TouchDown”的事件,它可以在我触摸它时检测指定的图片,以便它能够获得该图像对象的中心。

List<Image> canvasImages = new List<Image>(); 

private void canvas_TouchDown(object sender, TouchEventArgs e) 
{ 
    foreach (Image canvasImage in canvasImages) 
    { 
     if (canvasImage.AreAnyTouchesCaptured == true) 
     { 
      System.Diagnostics.Debug.WriteLine("I found image that you touch"); 
     } 
    } 
} 

但是,没有发生任何事情。我也尝试使用PersistId属性,但它不起作用。有什么建议吗?

方面,

C.Porawat

如果要添加图像到画布上,触摸它,并期待在画布上接收触摸你会失望的。您应该听取图像上的“触摸”或在画布上“预览触摸”。