启用/禁用 wpf 应用程序中所有控件的工具提示

Sta*_*ros 3 c# wpf tooltip

我正在编写一个 WPF 应用程序,它有很多不同的控件,每个控件都有自己的ToolTip. 尽管ToolTips它们很有用,但其中一些很长并且会碍手碍脚。

我希望能够创建一个按钮,该按钮将在单击时启用和禁用应用程序上的所有工具提示。我一直在做的事情似乎是一种非常漫长且不必要的方式。有没有办法快速完成我想要的?

mm8*_*mm8 5

你可以尝试添加该设置一个隐含的风格Visbility所有的财产ToolTipsCollapsed所有顶级窗口。像这样的东西:

private bool _isToolTipVisible = true;
private void Button_Click(object sender, RoutedEventArgs e)
{
    Style style = new Style(typeof(ToolTip));
    style.Setters.Add(new Setter(UIElement.VisibilityProperty, Visibility.Collapsed));
    style.Seal();

    foreach (Window window in Application.Current.Windows)
    {
        if (_isToolTipVisible)
        {
            window.Resources.Add(typeof(ToolTip), style); //hide
            _isToolTipVisible = false;
        }
        else
        {
            window.Resources.Remove(typeof(ToolTip)); //show
            _isToolTipVisible = true;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)