Avalonia怎么创建一个无边框但可拖动的窗口 Avalonia拖动区域

admin 百科 12
在Avalonia中实现无边框可拖动窗口需设WindowStyle="None"并启用ExtendClientAreaToDecorationsHint,再通过TitleBar的PointerPressed事件调用BeginMoveDrag,且须校验左键按下、背景非空、子控件设IsHitTestVisible="False"。

Avalonia怎么创建一个无边框但可拖动的窗口 Avalonia拖动区域-第1张图片-佛山资讯网

在 Avalonia 中创建无边框但可拖动的窗口,关键在于禁用默认窗口装饰,并通过指定区域(如标题栏)启用拖动行为。Avalonia 本身不提供像 WPF 的 DragMove() 那样直接的方法,但可通过 BeginMoveDrag 手动触发窗口拖动。

设置窗口为无边框

在 XAML 中将 WindowWindowStyle 设为 None,并关闭系统菜单和最大化/最小化按钮:

<Window xmlns="https://github.com/avaloniaui"
        WindowStyle="None"
        CanResize="True"
        MinWidth="400" MinHeight="300"
        ExtendClientAreaToDecorationsHint="True">

登录后复制

ExtendClientAreaToDecorationsHint="True" 允许自定义标题栏区域“接管”系统装饰区,是实现拖动的前提之一。

添加可拖动区域(例如自定义标题栏)

在窗口顶部添加一个 Panel(如 GridBorder),并为其绑定鼠标事件:

标签: git windows github 显示器 ai win

发布评论 0条评论)

还木有评论哦,快来抢沙发吧~