Подтвердить что ты не робот

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). Повторное включение тестирования hit в контрольной таблице сделало всплывающую подсказку, когда кнопка была отключена.

4b9b3361

Ответ 1

ToolTipService.ShowOnDisabled = "True"

Ответ 2

Это хороший способ добавить к вашему стартовому коду

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

Ответ 3

Сделать подсказку видимой для ВСЕХ отключенных кнопок и флажков:

<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>