2010-11-11 12 views
105

Ich versuche, ein Tooltip unabhängig von einem Tasten-Zustand zu zeigen, aber dies scheint nicht den Trick zu tun:wpf: Wie Tooltip angezeigt wird, wenn die Schaltfläche durch Befehl deaktiviert ist?

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

Wie ich den Tooltip zeigen kann, wenn die Taste aufgrund command.CanExecute Rückkehr deaktiviert falsch?

Hinweis:

ToolTipService.ShowOnDisabled = "true" funktioniert wie ein Charme. Der Grund, warum dies in meinem Beispiel nicht funktionierte, liegt darin, dass der mit der Schaltfläche verknüpfte Stil die Steuertabelle neu definiert und die Trefferprüfung für die Schaltfläche deaktiviert hat, wenn die Schaltfläche deaktiviert wurde (IsHitTestVisible = false). Durch erneutes Aktivieren des Treffertests in der Kontrollvorlage wurde der Tooltip angezeigt, wenn die Schaltfläche deaktiviert wurde.

+0

möglich Duplikat [WPF Tooltip Sichtbarkeit] hinzufügen (http://stackoverflow.com/questions/3149016/wpf-tooltip-Sichtbarkeit) –

+0

Ich verwende den ToolTipService.ShowOnDisabled, aber es funktioniert nicht. – Marius

+1

Löschen Sie einfach diese Frage. Ich habe ein kleines Testprojekt gemacht und ToolTipService.ShowOnDisabled funktioniert gut. – Marius

Antwort

214

ToolTipService.ShowOnDisabled = "True"

+8

MSDN-Referenz: http://msdn.microsoft.com/en-us/library/system.windows.controls.tooltipservice.aspx – David

10

Dies ist eine gute Methode, um Ihren Startcode

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