2010-11-11 9 views
105

Próbuję pokazać etykietkę niezależnie od stanu przycisków, ale nie wydaje się, aby wykonać trick:wpf: jak wyświetlić etykietkę narzędzi, gdy przycisk jest wyłączony przez polecenie?

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

Jak mogę pokazać etykietkę, gdy przycisk jest wyłączony z powodu command.CanExecute powrocie fałszywy?

Uwaga:

ToolTipService.ShowOnDisabled = "true" działa jak czar. Powodem, dla którego nie działało to w moim przykładzie, jest to, że styl związany z przyciskiem ponownie definiuje szablon kontrolny i wyłącza testowanie na przycisku, gdy przycisk został wyłączony (IsHitTestVisible = false). Ponowne włączenie testowania trafień w szablonie kontrolnym spowodowało pojawienie się podpowiedzi po wyłączeniu przycisku.

+0

możliwe duplikat [WPF Tooltip Widzialność] (http://stackoverflow.com/questions/3149016/wpf-tooltip-visible) –

+0

Używam narzędzia ToolTipService.ShowOnDisabled, ale nie działa. – Marius

+1

Po prostu usuń to pytanie. Zrobiłem mały projekt testowy i ToolTipService.ShowOnDisabled działa dobrze. – Marius

Odpowiedz

214

ToolTipService.ShowOnDisabled = "True"

+8

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

10

Jest to dobra metoda, aby dodać do kodu startowego

ToolTipService.ShowOnDisabledProperty.OverrideMetadata(
    typeof(Control), 
    new FrameworkPropertyMetadata(true)); 
Powiązane problemy