Avalonia无边框窗体拖拽问题
一般个人开发都会选择无边框的窗体作为登陆界面,然后在鼠标按下的事件中调用拖拽函数,在WPF中是这样的。
但是在Avalonia中按照以上思路之后发现界面上的ComboBox不能用了。。。奇奇怪怪的bug。
解决方法如下:
无边框窗体实现一下方法:
PointerPressed="InputElement_OnPointerPressed"
private void InputElement_OnPointerPressed(object? sender, PointerPressedEventArgs e) { if (e.Pointer.Type == PointerType.Mouse) { this.BeginMoveDrag(e); } }
然后呢,受到wpf冒泡事件和隧道事件的启发,感觉是点击控件的时候捕捉到了这个事件,导致ComboBox不正常了,所以需要单独给ComboBox写这个时间的处理逻辑,如下:
private void CmbSwitchLang_OnPointerPressed(object? sender, PointerPressedEventArgs e) { e.Handled = true; }
就酱,可以啦~
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· SpringCloud带你走进微服务的世界