我试图显示一个工具提示,而不管按钮的状态,但这似乎没有做到这一点:
<Button Command="{Binding Path=CommandExecuteAction}"
ToolTip="{Binding Path=Description}" ToolTipService.ShowOnDisabled="true"
Style="{StaticResource toolbarButton}">
<Image Source="{Binding Path=Icon}"></Image>
</Button>
我怎么能显示工具提示时,按钮被禁用,由于命令。CanExecute返回假?
注:
ToolTipService.ShowOnDisabled=“true”就像一种魅力。在我的示例中,这不起作用的原因是,与按钮相关联的样式重新定义了控件模板,并在按钮被禁用时关闭了按钮上的点击测试(IsHitTestVisible=false)。在控件模板中重新启用点击测试会使工具提示在按钮被禁用时出现。
4条答案
按热度按时间von4xj4u1#
你可以直接在xaml元素上使用:
zed5wv102#
这是一个很好的方法来添加到您的启动代码:
它确保了对于任何从
FrameworkElement
继承的类,即使控件示例被禁用,也会显示工具提示。这涵盖了可以具有工具提示的所有元素。j91ykkif3#
使工具提示对所有禁用的工具栏和复选框可见:
BasedOn=...
可以防止您丢失之前应用于复选框或按钮的任何其他样式。如果你不使用任何其他样式的按钮或复选框,你可以删除BasedOn=..
部分。ef1yzkbh4#
如果有人想在代码后面编程的话。它适用于任何元素,而不仅仅是
Button
: