none
如果获取GridView当中我点击的Item的坐标? RRS feed

  • 问题

  • GridView当中的Item是模板绑定的,我希望点击当中的任意一个Item时可以获取到这个Item(比如说左下角点)的坐标值。这个应该怎么实现呢?

    2012年9月28日 9:47

答案

  • 不需要获取坐标值吧,你是想知道点的是哪一个吧?

    private void ItemView_ItemClick(object sender, ItemClickEventArgs e)

    {
               var selecteditem = e.ClickedItem as ItemClass; // ItemClass就是你在GridView中绑定的类型;

    }


    www.MxMxM.com

    2012年9月29日 5:58
  • 在enable ItemClick的情况下,使用MxMxMx 的代码,获得所点击的Item, 然后你可以用下面的代码获得这个Item所对应的ItemContainer, 例如ListView中你点击那个ListViewItem, GridView中是GridViewItem:

    GridViewItem item = gridview.ItemContainerGenerator.ContainerFromItem(selecteditem) as GridViewItem;

    然后你可以继续通过下面代码获得这个GridViewItem的大小范围坐标:

            public static Rect GetElementRect(FrameworkElement element)
            {
                GeneralTransform transform = element.TransformToVisual(null);
                Point point = butransform.ransformPoint(new Point());
                return new Rect(point, new Size(element.ActualWidth, element.ActualHeight));
            }


    Bob Bao [MSFT]
    MSDN Community Support | Feedback to us

    2012年10月1日 6:20
    版主

全部回复

  • 不需要获取坐标值吧,你是想知道点的是哪一个吧?

    private void ItemView_ItemClick(object sender, ItemClickEventArgs e)

    {
               var selecteditem = e.ClickedItem as ItemClass; // ItemClass就是你在GridView中绑定的类型;

    }


    www.MxMxM.com

    2012年9月29日 5:58
  • 在enable ItemClick的情况下,使用MxMxMx 的代码,获得所点击的Item, 然后你可以用下面的代码获得这个Item所对应的ItemContainer, 例如ListView中你点击那个ListViewItem, GridView中是GridViewItem:

    GridViewItem item = gridview.ItemContainerGenerator.ContainerFromItem(selecteditem) as GridViewItem;

    然后你可以继续通过下面代码获得这个GridViewItem的大小范围坐标:

            public static Rect GetElementRect(FrameworkElement element)
            {
                GeneralTransform transform = element.TransformToVisual(null);
                Point point = butransform.ransformPoint(new Point());
                return new Rect(point, new Size(element.ActualWidth, element.ActualHeight));
            }


    Bob Bao [MSFT]
    MSDN Community Support | Feedback to us

    2012年10月1日 6:20
    版主