空工具提示问题

Stu*_*jce 5 c# data-binding wpf xaml tooltip

我有一个简单的WPF应用程序,其中一个按钮的工具提示绑定到TextBlock.Text:

<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>
Run Code Online (Sandbox Code Playgroud)

在button1_Click中,我有:

textBlock1.Text = null;
Run Code Online (Sandbox Code Playgroud)

按钮点击后,我预计按钮没有工具提示.但是,我得到了一个emty工具提示.我该如何解决?

H.B*_*.B. 5

您不能将其设置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>
Run Code Online (Sandbox Code Playgroud)

解决方法#2:添加ValueConverter到绑定,null如果value是,则返回String.Empty.

可能还有其他方法.

  • 问题是如何解决 - 这不是更像评论吗? (2认同)