wpf:如何通过命令禁用按钮时显示工具提示?

时间:2010-11-11 10:42:07

标签: wpf

无论按钮状态如何,我都试图显示工具提示,但这似乎没有办法:

<Button Command="{Binding Path=CommandExecuteAction}" 
        ToolTip="{Binding Path=Description}" ToolTipService.ShowOnDisabled="true"
        Style="{StaticResource toolbarButton}">
   <Image Source="{Binding Path=Icon}"></Image>
</Button>

当按钮因命令而被禁用时,如何显示工具提示.CanExecute返回false?

注意:

ToolTipService.ShowOnDisabled =“true”就像一个魅力。这在我的示例中不起作用的原因是因为与按钮关联的样式重新定义了控件模板,并在禁用按钮时关闭按钮上的命中测试(IsHitTestVisible = false)。重新启用controltemplate中的命中测试,使按钮被禁用时显示工具提示。

3 个答案:

答案 0 :(得分:267)

ToolTipService.ShowOnDisabled = “真”

答案 1 :(得分:19)

这是添加到启动代码的好方法

ToolTipService.ShowOnDisabledProperty.OverrideMetadata(
    typeof(Control),
    new FrameworkPropertyMetadata(true));

答案 2 :(得分:0)

使所有禁用的按钮和复选框的工具提示可见:

<Window.Resources>
    <Style TargetType="{x:Type Button}">
        <Setter Property="ToolTipService.ShowOnDisabled" Value="true"/>
    </Style>
    <Style TargetType="{x:Type CheckBox}">
        <Setter Property="ToolTipService.ShowOnDisabled" Value="true"/>
    </Style>
</Window.Resources>