从 SelectionChanged 事件获取 Item 在 GridView 中的位置

Get position of Item in GridView from SelectionChanged event

我有一个 GridView,其中 DataTemplate 类似于 W8.1 Grid App Template 中包含的默认视图。它是从 CollectionViewSource 填充(通过绑定)的。

GridViewSelectionModeSingle,我已经订阅了 GridViewSelectionChanged 活动。在此事件中,我可以使用此代码获取当前选择的对象 -

private void itemGridView_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
  ItemCanvas icDelete = ((GridView)sender).SelectedItem as ItemCanvas;
  string sName = icDelete.Name;
}

如何访问此项目的 DataTemplate,即如何访问此项目的可视位置以便在 GridView 中显示此项目所在的弹出窗口?

我已经使用 Flyout 完成了,我的代码:

我的XAML:

   ...data template..
        <FlyoutBase.AttachedFlyout >
                                        <Flyout>
                                            <StackPanel>
                                                <MenuFlyoutItem x:Name="flag_" >
                                                <MenuFlyoutItem x:Name="hide_" >

                                                <TextBlock Width="200" x:Name="details" Text="{Binding title}"  />
                                            </StackPanel>
                                        </Flyout>
                                    </FlyoutBase.AttachedFlyout>

我的 C#:

   private void Border_RightTapped(object sender, RightTappedRoutedEventArgs e)
        {

            Border brdr = sender as Border;
            FlyoutBase.ShowAttachedFlyout(brdr);

        }

而且效果很好!