Avalonia UI 实现无边框窗口拖动

在 Avalnia 中的 Window 对象有一个名为 ExtendClientAreaChromeHints 的属性。设置该属性为 NoChrome 且 ExtendClientAreaToDecorationsHint为 True 之后

Avalonia UI 实现无边框窗口拖动

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

另一个取消掉标题栏的方式是:设置窗体的 SystemDecorations 为 None 。

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

代码语言:javascript代码运行次数:0运行复制
private void Element_OnPointerPressed(object? sender, PointerPressedEventArgs e)
{
    if (e.Pointer.Type == PointerType.Mouse) this.BeginMoveDrag(e);
}

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

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

发布者:admin,转转请注明出处:http://www.yc00.com/web/1748034345a4721674.html

相关推荐

  • Avalonia UI 实现无边框窗口拖动

    在 Avalnia 中的 Window 对象有一个名为 ExtendClientAreaChromeHints 的属性。设置该属性为 NoChrome 且 ExtendClientAreaToDecorationsHint为 True 之后

    4小时前
    10

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信