admin管理员组文章数量:1033383
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 事件增加以上事件处理器即可在该元素上实现无边框拖动。
如果代码没有效果,可以先尝试设置一下元素的背景色为红色后再尝试。
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 事件增加以上事件处理器即可在该元素上实现无边框拖动。
如果代码没有效果,可以先尝试设置一下元素的背景色为红色后再尝试。
本文标签: Avalonia UI 实现无边框窗口拖动
版权声明:本文标题:Avalonia UI 实现无边框窗口拖动 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://it.en369.cn/jiaocheng/1748034370a2244483.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论