单击帮助图标时创建提示弹出窗口

时间:2018-04-28 11:44:48

标签: c# uwp

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

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

1 个答案:

答案 0 :(得分:1)

根据您的要求,您可以在TextBlock xaml中设置AttachedFlyout,如下所示:

<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>

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

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>