【问题标题】:How to add HTML text to tooltip WPF如何将 HTML 文本添加到工具提示 WPF
【发布时间】:2019-12-01 09:59:27
【问题描述】:

我有一个类似"<B>Objective</B> &cl To validate requirement"的字符串

如何在工具提示中以 HTML 格式显示它

【问题讨论】:

    标签: c# wpf wpf-controls


    【解决方案1】:

    我一直想在一些应用中自己做这件事,并认为我已经做到了。

    首先,您需要一个可以显示 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

    干杯,迈克尔。

    【讨论】:

      猜你喜欢
      • 2021-12-13
      • 1970-01-01
      • 1970-01-01
      • 2011-06-06
      • 2010-11-12
      • 1970-01-01
      • 1970-01-01
      • 2020-10-08
      • 2019-01-04
      相关资源
      最近更新 更多