我有2个UserControls:uc1和uc2
在uc1.MouseOver上,uc2的大小增加。在uc1.MouseLeave上,uc2返回原始大小。
在uc1.MouseLeftButtonUp上,会打开一个弹出窗口。但是,当弹出窗口关闭时,uc1.MouseLeave不会被触发,因此uc2不会返回原始大小。
解决方案是让uc2也订阅uc1.MouseLeftButtonUp,并执行与uc1.MouseLeave相同的代码,但这不是一个非常优雅的解决方案,因为我必须为订阅uc1的所有内容重复此操作。鼠标离开。
有没有办法以编程方式强制执行MouseLeave事件?
答案 0 :(得分:2)
考虑在你的.cs文件中创建一个mouseleave(和mouseleftbuttonup)事件调用的方法。
答案 1 :(得分:0)
试试这个,
订阅MainPage.xaml.cs上的事件(甚至点击弹出关闭按钮),并在每个事件结束后将其放在事件处理代码的末尾:
e.Handled = true;