当前位置: 首页 > 知识库问答 >
问题:

WPF-带有嵌入式TextBlock元素的禁用超链接上的工具提示

储承
2023-03-14

我正在尝试将工具提示放在我的WPF应用程序中禁用的超链接上。超链接嵌入了用于文本参数绑定的TextBlock元素。但是,由于某种原因,工具提示不适用于具有嵌入式TextBlock元素的禁用超链接。以下是一个示例:

<Grid>
    <StackPanel>
        <TextBlock TextAlignment="Center" Margin="5">
            <Hyperlink IsEnabled="False" ToolTip="ToolTip" ToolTipService.ShowOnDisabled="True">Text</Hyperlink>
        </TextBlock>
        <TextBlock TextAlignment="Center" Margin="5">
            <Hyperlink IsEnabled="True" ToolTip="ToolTip" ToolTipService.ShowOnDisabled="True">
                <TextBlock Text="Text"/>
            </Hyperlink>
        </TextBlock>
        <TextBlock TextAlignment="Center" Margin="5">
            <Hyperlink IsEnabled="False" ToolTip="ToolTip" ToolTipService.ShowOnDisabled="True">
                <TextBlock Text="Text"/>
            </Hyperlink>
        </TextBlock>
    </StackPanel>
</Grid>

这个XAML描述了三个超链接。

  • 第一个超链接已禁用,但没有嵌入TextBlock元素。工具提示显示得很好
  • 第二个超链接具有嵌入的TextBlock元素,但已启用。同样,工具提示显示良好
  • 第三个超链接被禁用,并且有一个嵌入的TextBlock元素,这是我需要的,但是工具提示没有显示

如何在嵌入TextBlock元素的禁用超链接上显示工具提示?我不想将工具提示添加到父TextBlock,因为我希望工具提示仅显示在超链接文本上,而不是整个TextBlock区域。

谢谢。

共有2个答案

彭鸿彩
2023-03-14

像这样将工具提示移动到文本块

<TextBlock TextAlignment="Center" Margin="5" ToolTip="ToolTip">
    <Hyperlink IsEnabled="False" ToolTipService.ShowOnDisabled="True">
        <TextBlock Text="Text"/>
    </Hyperlink>
</TextBlock>
梁丘宏硕
2023-03-14

我知道这听起来很奇怪,但这似乎奏效了:

<TextBlock Text="Hello there" IsEnabled="False">
    <Hyperlink ToolTip="ToolTip" ToolTipService.ShowOnDisabled="True">
        <TextBlock Text="Text" />
    </Hyperlink>
</TextBlock>

i、 例如,必须禁用父文本块。

 类似资料:
  • JavaFX是否提供类似Eclipse Quickfix的东西?这意味着您将鼠标悬停在损坏的东西上,并为其找到了一些可以立即应用的解决方案。我知道有工具提示,但它们只能包含文本,我需要一些可点击的东西。另一种解决方案是类似对话框的东西,但我不想打开另一个窗口。我希望它出现在当前阶段。有什么建议吗? 编辑:为了说明这一点,我想在基于JavaFX的应用程序上采用eclipse快速修复的概念,当鼠标悬停

  • 我有一个指向另一个页面的链接,我在其中设置了qtip2工具提示。因此,当您将鼠标悬停在链接上时,将显示工具提示,这是可以的,但当您单击链接(您尚未执行鼠标悬停事件)并进入下一屏幕时,工具提示仍将显示,浮动在屏幕上 有人知道如何避免这种恼人的行为吗?谢谢是预付款

  • 问题内容: 对于不可编辑的UITextView,我想在iOS9 +中嵌入这样的文本: 只需单击此处进行注册 我可以创建一个函数并处理文本,但是有没有更简单的方法? 我看到我可以使用NSTextCheckingTypeLink,因此在Interface Builder中无需“ click here”部分就可以单击文本: 只需http://example.com进行注册 如果相关,我正在使用Xcode

  • 我试图从网站中的元素中提取文本。HTML代码如下所示: 下面是我的代码:

  • 我使用JavaFx WebView来显示网页,但我不想在网页和Web引擎上禁用Javascript的任何交互(位置更改)。由于这个原因,我试图禁用超链接的所有操作并通过以下方式提交表单 所以我不能拖他们。有没有其他办法解决这个问题?通过CSS或JavaFx更好地解决它<谢谢你的提前通知。

  • 这将启动一个嵌入式Tomcat实例,这很好。 问题是,其他配置文件不需要嵌入式服务器(例如,我使用JMS来处理传入的消息,而不是REST)。 有什么方法可以阻止在默认情况下启动Tomcat,并且只在REST配置类中使用它?例如,通过使用注释该类 谢谢