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

时间:2016-02-27 09:19:06

标签: c# windows-runtime windows-store-apps winrt-xaml

我有一个GridView,其DataTemplate类似于W8.1网格应用程序模板中包含的默认值。它从CollectionViewSource填充(通过绑定)。

GridView' SelectionModeSingle,我已订阅GridView的{​​{1}}事件。在此事件中,我可以使用此代码获取当前选择的对象 -

SelectionChanged

如何访问此项目的private void itemGridView_SelectionChanged(object sender, SelectionChangedEventArgs e) { ItemCanvas icDelete = ((GridView)sender).SelectedItem as ItemCanvas; string sName = icDelete.Name; } ,即如何访问此项目的可视位置,以便我可以在GridView中显示此项目所在的弹出窗口?

1 个答案:

答案 0 :(得分:1)

我是通过使用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);

        }

它工作得很好!