空白的工具提示问题

本文关键字:问题 工具提示 空白 | 更新日期: 2023-09-27 18:08:12

我有一个简单的WPF应用程序,它的工具提示绑定到一个TextBlock。文本:

<Grid>
    <Button Height="23" Margin="82,0,120,105" Name="button1" VerticalAlignment="Bottom" ToolTip="{Binding ElementName=textBlock1,Path=Text}" Click="button1_Click">Button</Button>
    <TextBlock Height="23" Margin="64,55,94,0" Name="textBlock1" VerticalAlignment="Top" Text="AD" />
</Grid>

在button1_Click中输入:

textBlock1.Text = null;

我期望在按钮点击后没有工具提示。然而,我得到一个空的工具提示。我该如何解决这个问题?

空白的工具提示问题

您不能将Text设置为null,它将立即更改为空字符串。

解决方法#1:一个清除值:

的样式
<!-- Do NOT set the ToolTip on the Button itself -->
<Style TargetType="Button" xmlns:sys="clr-namespace:System;assembly=mscorlib">
    <Setter  Property="ToolTip" Value="{Binding ...}"/>
    <Style.Triggers>
        <DataTrigger Binding="{Binding ...}" Value="{x:Static sys:String.Empty}">
            <Setter Property="ToolTip" Value="{x:Null}" />
        </DataTrigger>
    </Style.Triggers>
</Style>

解决方案#2:添加一个ValueConverter到绑定,如果valueString.Empty,则返回null

可能有其他方法