我有一个类似"<B>Objective</B> &cl To validate requirement"
如何在工具提示中以HTML格式显示此内容
答案 0 :(得分:0)
我一直想自己在某些应用程序中做到这一点,并认为我已经掌握了。
首先,您需要一个可以显示HTML的控件。 WebBrowser对于工具提示绝对是太多了,因此我进行了一些挖掘,发现HtmlRenderer.WPF nuget中包含的HtmlLabel。它非常轻巧,背景透明,自从我将其与Material Design Toolkit一起使用以来,这非常好。
您可以在此处找到HtmlRenderer.WPF nuget:https://www.nuget.org/packages/HtmlRenderer.WPF
或使用以下命令获取它:Install-Package HtmlRenderer.WPF -Version 1.5.0.6
第二,您可能想在多个地方使用此HTML工具提示。重用它的最简单方法(我认为)是制作样式。像这样:
<Window
x:Class="HtmlRendererTest.Wpf.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:htmlControls="clr-namespace:TheArtOfDev.HtmlRenderer.WPF;assembly=HtmlRenderer.WPF"
xmlns:local="clr-namespace:HtmlRendererTest.Wpf"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
Title="MainWindow"
Width="800"
Height="450"
Background="#292929"
mc:Ignorable="d">
<Window.Resources>
<Style TargetType="ToolTip">
<Setter Property="ContentTemplate">
<Setter.Value>
<DataTemplate>
<htmlControls:HtmlLabel Text="{TemplateBinding Content}" />
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
</Window.Resources>
<Grid>
<Button
Padding="10"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Content="Hover over me"
ToolTip="{Binding HtmlTooltip}" />
</Grid>
</Window>
此样式替换了显示工具提示并使用HtmlLabel代替显示的默认控件。
就是这样! 您现在可以将工具提示绑定到HTML文本。
这是一个演示:https://github.com/michaldivis/HtmlRendererTest
干杯,米哈尔。