禁用的复选框在WPF上无法显示工具提示。

7
即使设置了ToolTipService.ShowOnDisabled="True",禁用复选框上的提示工具仍然不可见。
<CheckBox Grid.Column="0" HorizontalAlignment="Center" Visibility="{Binding Converter={StaticResource TaskCompletionVisbilityConverter},ConverterParameter='chkbox'}" 
                             Height="16" Width="16" Foreground="{Binding Converter={StaticResource TaskColorConverter}}"
                               ToolTipService.ShowOnDisabled="True" ToolTipService.IsEnabled="True"
                              ToolTip="Check To complete Task"
                               IsEnabled="{Binding State, Converter={StaticResource EnableDisableConverter},
                        ConverterParameter='checkbox',Mode=TwoWay}" Margin="37,5,0,0">

可能是WPF Tooltip Visibility的重复问题。 - netaholic
我认为这个问题不是WPF Tooltip Visibility的重复。实际上,@Pa1已经使用了ToolTipService.ShowOnDisabled="True"ToolTipService.IsEnabled="True"。我猜测工具提示应该是可见的,所以可能有其他东西隐藏了它。Pa1,你能提供更多关于你的XAML的细节吗? - Il Vic
2个回答

11

你的代码对我来说是有效的。 ToolTipService.ShowOnDisabled="True" 应该是你需要的。

请检查是否在与复选框关联的任何样式/控件模板中将IsHitTestVisible设置为false

IsHitTestVisible设置为false意味着它将忽略与控件相关的任何鼠标事件,因此您将无法获得工具提示。


我从我的样式中删除了所有的IsHitTestVisible引用,但仍然没有得到结果。 - Pa1
那么当复选框启用时,工具提示确实会显示,但当它被禁用时就不会显示了?尝试监听“MouseOver”事件来检查在复选框被禁用时是否仍然触发该事件? - spaceplane

3

ToolTipService.ShowOnDisabled="True" 对我不起作用。以下的方法可以解决:

<DataGridCheckBoxColumn.CellStyle>
    <Style>                                     
        <Setter Property="ToolTipService.ShowOnDisabled" Value="True" />
    </Style>                                 
</DataGridCheckBoxColumn.CellStyle>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接