WinRT - 如何在单击 gridview 元素时将弹出窗口添加为工具提示

WinRT - How to add popups as tooltips when I click a gridview element

在 windows 商店应用程序项目中,我有一个 Gridview 显示圆圈内的用户图像,我正在尝试做一个弹出窗口,在我单击时显示该用户的信息带有图片的圆圈之一。

看起来像这样。

如何获取点击项目的位置,以了解弹出窗口出现的位置? 以及如何使用不同的信息对同一弹出窗口执行不同的实例?

或者有更好的解决方案吗?

试试这个:

<Page.Resources>
    <Flyout x:Name="InfoFlyout">
        <TextBlock>Hello World!</TextBlock>
    </Flyout>
</Page.Resources>


<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
    <Grid.ColumnDefinitions>
        <ColumnDefinition />
        <ColumnDefinition />
        <ColumnDefinition />
        <ColumnDefinition />
    </Grid.ColumnDefinitions>
    <Ellipse Grid.Column="0" Height="100" Width="100" Fill="Blue" PointerPressed="Ellipse_PointerPressed" FlyoutBase.AttachedFlyout="{StaticResource InfoFlyout}" />
    <Ellipse Grid.Column="1" Height="100" Width="100" Fill="Blue" PointerPressed="Ellipse_PointerPressed" FlyoutBase.AttachedFlyout="{StaticResource InfoFlyout}" />
    <Ellipse Grid.Column="2" Height="100" Width="100" Fill="Blue" PointerPressed="Ellipse_PointerPressed" FlyoutBase.AttachedFlyout="{StaticResource InfoFlyout}" />
    <Ellipse Grid.Column="3" Height="100" Width="100" Fill="Blue" PointerPressed="Ellipse_PointerPressed" FlyoutBase.AttachedFlyout="{StaticResource InfoFlyout}" />
</Grid>

并添加此事件处理程序:

private void Ellipse_PointerPressed(object sender, PointerRoutedEventArgs e)
{
    InfoFlyout.ShowAt(sender as FrameworkElement);
}