WPF工具栏 - 为什么一个按钮显示了ToolTip,而另一个没有?
WPF工具栏 - 为什么一个按钮显示了ToolTip,而另一个没有?
在我的WPF应用程序中,上述XAML代码中的工具栏(Toolbar)为“Paste”按钮显示了ToolTip,但未为“Copy”按钮显示ToolTip。问题:为什么会出现这种情况,我们该如何解决?
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:local="clr-namespace:WpfMkTxTest" mc:Ignorable="d" Title="MainWindow" Height="450" Width="1140.038"> .... ....
问题的出现原因是,虽然设置了ToolTip的属性和ShowOnDisabled属性为True,但是在Copy按钮上仍然无法显示ToolTip。而对于Paste按钮,不需要设置ShowOnDisabled属性,就可以显示ToolTip。问题在于为什么Copy按钮需要设置ShowOnDisabled属性才能显示ToolTip。
解决方法是,将Copy按钮的Command属性设置为ApplicationCommands.Copy,并在Copy按钮上设置ToolTip属性为"Copy",并且设置ToolTipService.ShowOnDisabled属性为True。这样就可以在Copy按钮上显示ToolTip了。
以下是问题的解决方案的代码示例:
虽然问题得到了解决,但是作者对为什么Copy按钮需要设置ShowOnDisabled属性才能显示ToolTip感到好奇。根据Stack Overflow上的解释,ShowOnDisabled属性是用于在按钮被禁用时仍然显示ToolTip的。但是作者的Copy按钮并没有被禁用,当点击按钮进行复制操作时,它的功能是正常工作的。因此,作者对于为什么Copy按钮需要设置ShowOnDisabled属性感到困惑。
参考链接:
https://stackoverflow.com/a/3149135/1232087