我有一个简单的 WPF 应用程序,它有一个按钮,其工具提示绑定(bind)到 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>
在 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
如果 value
为 String.Empty
,则返回 null
的绑定(bind)。
可能还有其他方法。
关于c# - 空工具提示问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7346896/