WPF工具栏 - 为什么一个按钮显示了ToolTip,而另一个没有?

14 浏览
0 Comments

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

....

....

0
0 Comments

问题的出现原因是,虽然设置了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

0