2013-05-02 126 views
0

我怎么能确定该元素的名称,其他属性的基础上,给出了触摸事件,确定元素名称

Touch.FrameReported += new TouchFrameEventHandler(OnFrameReported); 

private void OnFrameReported(object sender, TouchFrameEventArgs e) 
{ 
    TouchPoint primaryTouchPoint = e.GetPrimaryTouchPoint(null); 

    TouchPointCollection points = e.GetTouchPoints(null); 

    foreach (TouchPoint point in points) 
    { 
     if (point.Action == TouchAction.Down) 

到目前为止,我已经试过了,point.TouchDevice.DirectlyOver但只给我的元素类型(shapebutton等)。我想弄清楚x:name

回答

1

不幸的是,没有办法在运行时检索x:Name值。看到这个类似的SO帖子。

How to get x:Name value runtime

编辑: 不过,话说回来,TouchPoint.TouchDevice.DirectlyOver是可以转换到具有Name属性FrameworkElement的一个的UIElement。您可以使用Name属性来代替x:Name属性,并以这种方式获取您的信息。

1

有应该努力尝试,让我知道^^

string name = sender.GetType().Name; 

希望我帮你这个^^

+0

我会尝试它,当我有机会,我不在的解决方案目前。谢谢。 – enginefree 2013-05-04 21:43:33

+0

出于某种原因,发件人在处理此类事件时为'null'。 – enginefree 2013-05-29 03:19:49