首页 > 其他分享 >Avalonia无边框窗体拖拽问题

Avalonia无边框窗体拖拽问题

时间:2024-04-01 16:59:48浏览次数:26  
标签:OnPointerPressed ComboBox 边框 窗体 拖拽 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;
        }

就酱,可以啦~

标签:OnPointerPressed,ComboBox,边框,窗体,拖拽,Avalonia
From: https://www.cnblogs.com/ChristalXue/p/18108833

相关文章

  • PyQt:【重磅干货】实现一个自定义样式的窗口(比如去掉边框、改变标题位置、窗口按钮样式
    如果想突破PyQt自带窗口的样式限制,比如同时去掉窗口的边框、改变边框、改变标题位置、窗口控制按钮等等,那就需要实现一个自定义样式的窗口,本文教你如何实现先来看看PyQt创建窗口的默认样式:再看看一个自定义样式的窗口:可以看到,这里示例的自定义窗口去掉了窗口的边框、改......
  • C#实现窗体弹出的三种方式(附完整源码)
    C#实现窗体弹出的三种方式以下是C#实现窗体弹出的三种方式的完整源码:使用Show方法弹出窗体:usingSystem;usingSystem.Windows.Forms;namespaceWindowsFormsApp1{publicpartialclassForm1:Form{publicForm1(){......
  • C#手动改变自制窗体的大小
    目录1.Cursor类的Position属性2.改变窗体大小的计算方法3.Resources设计(1)Resources资源图片管理(2)GetObject方法设计(3)两种获取资源图片的方法4.示例        当用户去除Winform窗体边框,自行设置窗体外观时,用户就不能使用Windows窗体应用的功能对自定义窗体的大......
  • Avalonia 运行在Ubuntu20.04上,记录发布到运行的过程,已解决默认字体问题
    目录1.安装.NET8.0环境2.发布Avalonia程序3.默认字体问题解决Demo程序下载(开箱即用):https://download.csdn.net/download/rotion135/890489371.安装.NET8.0环境下载微软dotnet安装脚本:sudowgethttps://dot.net/v1/dotnet-install.sh-Odotnet-install.sh运行......
  • element 文本域设置 隐藏边框,禁止缩放,自动换行...
    1.隐藏边框:deep(.el-textarea__inner){box-shadow:0000px;}:deep(.el-textarea__inner:hover){box-shadow:0000px;}:deep(.el-textarea__inner:focus){box-shadow:0000px;} 2.禁止缩放resize="none"3.自动换行 autosizeminRows:5......
  • 基于VB6的磁性移动窗体 - 开源研究系列文章
          这次继续整理代码。这个磁性窗体是以前大学的时候开发的,当时模仿的Winamp的效果进行的编程。当时的时候有WindowsAPI函数能够进行处理,但是XP的年代,那个API只是移动的虚框,而不是移动窗体,于是就进行了窗体移动的开发,同时结合API函数进行了编码,在窗体移动的时候能够磁......
  • Vue3 - Element Plus 下拉选择器 el-select 覆盖修改 placeholder样式,解决覆盖不生效
    前言如果需要Vue2版本,请访问这篇文章。本文实现了在vue3+element-plus网站开发中,完美覆盖el-select选择器样式,强力修改select下拉选择框placeholder样式,同时也支持修改文字、大小、边框、等,支持任意样式的覆盖修改!网上的教程几乎都不生效,使用本教程的方法......
  • C# 窗体 隐藏到托盘 开机自动启动 粘贴板 生成的EXE图标和名称
    1、隐藏到托盘privatevoidMainForm_FormClosing(objectsender,FormClosingEventArgse){if(e.CloseReason==CloseReason.UserClosing){//取消关闭操作,并隐藏窗体e.Cancel=true;......
  • C#的窗体防闪烁解决方案 - 开源研究系列文章
          昨天编码的时候想到了关于无边框窗体的闪烁问题,主要是改变窗体大小的时候会闪烁,默认的窗体没这个问题。而现在无边框窗体的应用比较多,所以就找了度娘,然后结合自己的经验进行了测试,得到了这个例子,简单有效。 1、项目目录; 2、源码介绍;  ......
  • 在winform中如何嵌入第三方软件窗体
    合集-C#(24) 1.使用C#将几个Excel文件合并去重分类2023-11-152.C#使用SqlSugar操作MySQL数据库实现简单的增删改查2023-11-163.C#中的类和继承2023-11-174.C#中的virtual和override关键字2023-11-175.C#中的属性2023-11-206.C#winform中使用SQLite数据库2023-11-237.C#简......