我正在尝试在我的WPF应用程序中的禁用超链接上放置工具提示。这些超链接具有用于Text参数绑定的嵌入式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区域上。
谢谢。
最佳答案
我知道这听起来很奇怪,但这似乎可行:
<TextBlock Text="Hello there" IsEnabled="False">
<Hyperlink ToolTip="ToolTip" ToolTipService.ShowOnDisabled="True">
<TextBlock Text="Text" />
</Hyperlink>
</TextBlock>
也就是说,您必须禁用父TextBlock。
关于c# - WPF-带有嵌入式TextBlock元素的禁用超链接上的工具提示,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25280282/