【问题标题】:WinRT - How to add popups as tooltips when I click a gridview elementWinRT - 单击gridview元素时如何将弹出窗口添加为工具提示
【发布时间】:2015-07-25 14:14:59
【问题描述】:

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

它看起来像这样。

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

或者有更好的解决方案来实现这一点?

【问题讨论】:

    标签: c# xaml popup windows-store-apps


    【解决方案1】:

    试试这个:

    <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);
    }
    

    【讨论】:

    • 是的,这似乎可行,只是稍微调整一下定位。谢谢
    猜你喜欢
    • 1970-01-01
    • 2013-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-07
    • 1970-01-01
    • 2015-06-27
    相关资源
    最近更新 更多