学无先后达者为师!
不忘初心,砥砺前行。

Avalonia UI 中的无边框窗口拖动

在 Avalnia 中的 Window 对象有一个名为 ExtendClientAreaChromeHints 的属性。设置该属性为 NoChromeExtendClientAreaToDecorationsHint True 之后,包含最大化、最小化按钮在内的系统标题栏就消失了。

另一个取消掉标题栏的方式是:设置窗体的 SystemDecorationsNone

因为少了标题栏,所以就需要额外的代码实现拖动功能。

private void Element_OnPointerPressed(object? sender, PointerPressedEventArgs e)
{
    if (e.Pointer.Type == PointerType.Mouse) this.BeginMoveDrag(e);
}

只需要将任意元素的 PointerPressed 事件增加以上事件处理器即可在该元素上实现无边框拖动。

如果代码没有效果,可以先尝试设置一下元素的背景色为红色后再尝试。

赞(3) 打赏
未经允许不得转载:码农很忙 » Avalonia UI 中的无边框窗口拖动

评论 抢沙发

给作者买杯咖啡

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫

登录

找回密码

注册