gpt4 book ai didi

c# - MouseDown/MouseLeftButtonDown 事件未触发,MouseUp 是?

转载 作者:太空宇宙 更新时间:2023-11-03 12:28:43 30 4
gpt4 key购买 nike

这是我的代码:

    public AbilitiesController(Abilities page)
{
_page = page;
page.ScrollBar.MouseLeftButtonDown += MouseDown;
page.ScrollBar.MouseLeftButtonUp += MouseUp;
page.ScrollBar.MouseLeave += MouseLeave;
page.ScrollBar.MouseWheel += MouseWheel;
page.ScrollBar.MouseMove += MouseMove;
}

private void MouseMove(object sender, MouseEventArgs mouseEventArgs)
{
if (!_dragBound) return;
var newPos = mouseEventArgs.GetPosition(_page);
var dPos = newPos - _pos;
_page.ScrollBar.ScrollToHorizontalOffset(dPos.X);
_page.ScrollBar.ScrollToVerticalOffset(dPos.Y);
_pos = newPos;
Console.WriteLine("Moved");
}

private void MouseWheel(object sender, MouseWheelEventArgs mouseWheelEventArgs)
{
Console.WriteLine("MouseWheel");
}

private void MouseLeave(object sender, MouseEventArgs mouseEventArgs)
{
_dragBound = false;
Console.WriteLine("Left");
}

private void MouseUp(object sender, MouseButtonEventArgs mouseButtonEventArgs)
{
_dragBound = false;
Console.WriteLine("Mouse Up");
}

private void MouseDown(object sender, MouseButtonEventArgs mouseButtonEventArgs)
{
_dragBound = true;
Console.WriteLine("Click!");
}

Page是Page,Scrollbar是Scrollview。

我知道我移动滚动条的逻辑可能还不正确,但我们还没有走到那一步。

由于某些奇怪的原因,无论我将其绑定(bind)到 MouseDown 还是 MouseLeftButtonDown,MouseDown 事件都没有触发。

然而奇怪的是,MouseUp 事件没有问题。

这看起来真的很奇怪,因为通常如果一个坏了,另一个也坏了......

在 WPF 项目中使用最新版本的 Visual Studio 2017。

最佳答案

您可能想尝试“PreviewMouseDown”而不是“MouseDown”,对于所有其他非工作鼠标事件也是如此,因为无论您的“能力”类的基类是什么,它们可能已经在处理。

关于c# - MouseDown/MouseLeftButtonDown 事件未触发,MouseUp 是?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43618994/

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