我想在单击后立即显示ToolTip
的Button
。然后,ToolTip
应该会在短时间内消失。这仅是用户的反馈,因为单击Button
会导致将字符串复制到剪贴板。
我使用Button行为通过Click事件显示Button的Tooltip
。为了显示ToolTip
,我将其IsOpen
属性设置为true。
class ForceToolTipBehavior : Behavior<Button>
{
protected override void OnAttached()
{
base.OnAttached();
this.AssociatedObject.Click += AssociatedObject_Click;
}
private void AssociatedObject_Click(object sender, System.Windows.RoutedEventArgs e)
{
var tooltip = this.AssociatedObject.ToolTip as ToolTip;
tooltip = new ToolTip();
tooltip.Content = "Log was copied to your Clipboard";
tooltip.IsOpen = true;
}
}
这工作正常,但
ToolTip
保持打开状态。有什么优雅的方法可以使ToolTip
在几秒钟后消失吗?是否可以将ToolTipService
用于该任务?
最佳答案
简单快捷的方法:
private void AssociatedObject_Click(object sender, System.Windows.RoutedEventArgs e)
{
var tooltip = this.AssociatedObject.ToolTip as ToolTip;
tooltip = new ToolTip();
tooltip.Content = "Log was copied to your Clipboard";
tooltip.IsOpen = true;
HideToolTip(tooltip);
}
private async void HideToolTip(ToolTip toolTip)
{
await Task.Delay(3 * 1000); // 3 second
toolTip.IsOpen = false;
}
关于c# - 在使用附加行为单击按钮后,如何在短时间内显示工具提示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57575580/