作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当以下控件获得焦点时,显示工具提示所需的最少步骤数是多少?
<TextBox ToolTip="Hello there!" ... />
我在 GotFocus 中尝试了以下内容
private void ..._GotFocus(object sender, RoutedEventArgs e) {
var element = (FrameworkElement)sender;
var tooltip = element.ToolTip;
if (!(tooltip is ToolTip)) {
tooltip = new ToolTip { Content = tooltip };
element.ToolTip = tooltip;
}
((ToolTip)tooltip).IsOpen = true;
}
但是,它似乎忽略了此控件的 ToolTipService.Placement
和更高级别的 SystemParameters.ToolTipPopupAnimationKey
设置。
我怎样才能使它工作并遵守通常适用于工具提示的所有设置(显然除了时间之外)?
最佳答案
我会在附加属性中构建一个 IsKeyboardFocused 绑定(bind),如下所示:
public class ShowOnFocusTooltip : DependencyObject
{
public object GetToolTip(...
public void SetToolTip(...
public static readonly DependencyProperty ToolTipProperty = DependencyProperty.RegisterAttached(..., new PropertyMetadata
{
PropertyChangedCallback = (obj, e) =>
{
ToolTipService.SetToolTip(obj,
e.NewValue==null ? null :
BuildToolTip(obj, e.NewValue));
}
});
private object BuildToolTip(DependencyObject control, object content)
{
var tooltip = content is ToolTip ? (ToolTip)content : new ToolTip { Content = content };
tooltip.SetBinding(ToolTip.IsOpenProperty,
new Binding("IsKeyboardFocusWithin") { Source = control });
return tooltip;
}
关于wpf - 在焦点上显示 WPF 工具提示的侵入性最小的方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2753534/
这是 Google 无法回答的问题。我正在为一款多人游戏使用 XMLHttpRequest 进行一些 HTTP“长轮询”。在 Chrome 中,这会导致选项卡始终处于“加载中”状态:(1) 标签中的图
我是一名优秀的程序员,十分优秀!