gpt4 book ai didi

wpf - IsMouseOver 鼠标捕获时

转载 作者:行者123 更新时间:2023-12-04 01:12:55 24 4
gpt4 key购买 nike

我的元素上有一个 IsMouseOver 触发器。我也有一个拖动 Action 发生,另一个元素捕获鼠标,因此 IsMouseOver 触发器永远不会发生,但我明确希望它在我拖动它时发生在某些元素上(鼠标捕获和所有)。这可能吗?

最佳答案

我知道这是多年前问过的问题,但以防万一有人从搜索引擎登陆这里(就像我一样),这是我为自己解决问题的方法。而不是使用 IsMouseOver属性,在您的代码中使用 HitTest 来确定鼠标是否在您的控件内:

bool IsMouseOverEx = false;

VisualTreeHelper.HitTest(this, d =>
{
if (d == this)
{
IsMouseOverEx = true;
return HitTestFilterBehavior.Stop;
}
else
return HitTestFilterBehavior.Continue;
},
ht => HitTestResultBehavior.Stop,
new PointHitTestParameters(Mouse.GetPosition(this)));

if (IsMouseOverEx)
{
//Do whatever you need in case of MouseOver
}

注意如果您还没有阅读该问题,请注意,此方法是针对“捕获”鼠标的情况的一种解决方法,因此 IsMouseOver属性无法正常工作。在正常情况下,您应该始终使用 IsMouseOver .

关于wpf - IsMouseOver 鼠标捕获时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10333251/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com