gpt4 book ai didi

c# - WPF 中的 MouseEnter 和 MouseLeave 处理(使用 VS2008 和 .net 3.5)未按预期工作

转载 作者:行者123 更新时间:2023-11-30 12:35:14 28 4
gpt4 key购买 nike

没有图片,没有代码,不容易说明问题。对于那些感兴趣的人,我制作了一个示例 C#/WPF 项目,可以从 http://rapidshare.com/files/461745095/02.WPFControlEvents.rar 下载。

这是一个非常小的项目 (45KB)。问题如下(对歪曲的描述深表歉意):

一个“奇特”(而且相当丑陋)的按钮包含一个堆栈面板,它又包含 1.) 标签,2.) Canvas ,3.) 两 (2) 个同心椭圆,全部从左到右排列。

堆栈面板有一个 MouseEnter 和一个 MouseLeave 事件处理程序,它会在标题栏中显示一条消息,指示鼠标是在堆栈面板上方还是外部。

问题是:当鼠标在标签上(依次包含在堆栈面板中)时,鼠标被(正确地)报告为在堆栈面板上。当鼠标移到 Canvas (它也包含在堆栈面板中)上时,鼠标被(错误地?)报告为在堆栈面板上,但是当鼠标稍微移动到右侧(在 Canvas 上的两个椭圆上方),报告鼠标再次位于堆栈面板上。

为什么当鼠标在 Canvas 上时,它被报告为不在堆栈面板上,但当鼠标在椭圆(绘制在 Canvas 上)上时,它被报告为在堆栈面板上?。

感谢您阐明问题,

约翰。

最佳答案

您可能需要将 Canvas 的背景设置为透明。这将使其成为“可测试的”并报告鼠标悬停事件。

可以找到更多信息 here , 但默认情况下 Canvas 的背景为空。

关于c# - WPF 中的 MouseEnter 和 MouseLeave 处理(使用 VS2008 和 .net 3.5)未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5952905/

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