我想在状态栏中显示任何控件的工具提示文本,当工具提示即将打开时.
当然,我可以尝试循环遍历主窗口的所有子控件,并将它们的ToolTipOpening
事件设置为始终相同的方法.但是有更简单的方法吗?
像Application.Current.AnyToolTipOpening
活动一样?
当然,试试这个:
EventManager.RegisterClassHandler(typeof(FrameworkElement), FrameworkElement.ToolTipOpeningEvent, new ToolTipEventHandler(ToolTipHandler));
它为从FrameworkElement派生的所有类注册一个处理程序.
您的处理程序方法可能如下所示:
private void ToolTipHandler(object sender, ToolTipEventArgs e) { // To stop the tooltip from appearing, mark the event as handled e.Handled = true; FrameworkElement source = e.Source as FrameworkElement; if (source != null) { MessageBox.Show(source.ToolTip.ToString()); // or whatever you like } }