首页 > 解决方案 > 单击帮助图标时创建提示弹出窗口

问题描述

我想在悬停或单击行末尾的帮助图标时创建提示弹出窗口的 WPF 效果。有任何想法吗?我试过这样的东西,除非我点击 Flyout 没有激活。

<TextBlock Text="?">
    <TextBlock.ContextFlyout>
        <Flyout>
            <RichTextBlock>
                <Paragraph>
                  This is the help <LineBreak/>
                  for this row<LineBreak/>
                </Paragraph>
            </RichTextBlock>
        </Flyout>
   </TextBlock.ContextFlyout>
</TextBlock>

标签: c#uwp

解决方案


根据您的要求,您可以AttachedFlyoutTextBlockxaml 中制作如下:

<TextBlock Text="?" Tapped="TextBlock_Tapped">
    <FlyoutBase.AttachedFlyout>
        <Flyout>
             <TextBlock x:Name="MyTextBox" Text="You can edit this text by tapping it."/>
        </Flyout>
    </FlyoutBase.AttachedFlyout>    
</TextBlock>

ShowAttachedFlyout并在 TextBlockTapped事件处理程序中调用方法。

private void Element_Tapped(object sender, TappedRoutedEventArgs e)
{
    FrameworkElement element = sender as FrameworkElement;
    if (element != null)
    {
        FlyoutBase.ShowAttachedFlyout(element);
    }
}

您也可以使用ToolTip来实现它。

<TextBlock Text="?">
<ToolTipService.ToolTip>
<ToolTip Content="You can edit this text by tapping it." />
</ToolTipService.ToolTip>
</TextBlock>

推荐阅读