Avalonia 已知问题 继承滚动条将让里层控件无法获得无穷大空间

news/2025/3/12 7:13:32/文章来源:https://www.cnblogs.com/lindexi/p/18766603

复现步骤如下:

  1. 新建一个 FooScrollViewer 类型,让其继承 ScrollViewer 控件
  2. 在 FooScrollViewer 里面放入一个 Grid 和一个按钮,点击按钮时设置撑开 Grid 控件

具体代码如下,以下是 FooScrollViewer 类型的代码

public class FooScrollViewer : ScrollViewer
{
}

以下是 MainView.axaml 界面代码

    <Grid x:Name="RootGrid" Background="Transparent"><views:FooScrollViewer><StackPanel x:Name="RootStackPanel" Margin="0 50 0 0"><Grid x:Name="TranslationPanel"><Border x:Name="FooBorder" Height="10" Background="#50565656"></Border><Button VerticalAlignment="Top" Content="点击" Click="Button_OnClick"></Button></Grid></StackPanel></views:FooScrollViewer></Grid>

点击按钮的时候的代码如下

    private void Button_OnClick(object? sender, RoutedEventArgs e){FooBorder.Height += 200;}

尝试运行项目,然后不断点击按钮,可以看到 TranslationPanel 这个 Grid 高度已经到达一千六百多。但 RootStackPanel 依然是高度 600 多的值,且此时滚动条不出来

尝试将 views:FooScrollViewer 换成 ScrollViewer 控件,则 RootStackPanel 空间可以被撑开,且滚动条出现

本文代码放在 github 和 gitee 上,可以使用如下命令行拉取代码。我整个代码仓库比较庞大,使用以下命令行可以进行部分拉取,拉取速度比较快

先创建一个空文件夹,接着使用命令行 cd 命令进入此空文件夹,在命令行里面输入以下代码,即可获取到本文的代码

git init
git remote add origin https://gitee.com/lindexi/lindexi_gd.git
git pull origin 1479d0e9004e3f0648c9c5ead464227a963b6cb7

以上使用的是国内的 gitee 的源,如果 gitee 不能访问,请替换为 github 的源。请在命令行继续输入以下代码,将 gitee 源换成 github 源进行拉取代码。如果依然拉取不到代码,可以发邮件向我要代码

git remote remove origin
git remote add origin https://github.com/lindexi/lindexi_gd.git
git pull origin 1479d0e9004e3f0648c9c5ead464227a963b6cb7

获取代码之后,进入 AvaloniaIDemo/QeajewiyawarkogearLiqilela 文件夹,即可获取到源代码

更多技术博客,请参阅 博客导航

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/897519.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

读DAMA数据管理知识体系指南17数据存储和操作治理

读DAMA数据管理知识体系指南17数据存储和操作治理1. 管理数据库性能 1.1. 数据库的性能取决于两个相互依赖的因素:可用性和响应速度 1.2. 性能包括确保空间的可用性、查询优化以及其他能使数据库以有效的方式返回数据的因素1.2.1. 如果没有可用性,就无法衡量数据库的性能1.2.…

干货分享!厦大140页PPT读懂大模型,从概念到实践

干货分享!厦大140页PPT读懂大模型 《厦门大学:大模型概念、技术与应用实践》 是由厦门大学大数据教学团队出品的DeepSeek科普类内容。文章涵盖:人工智能发展简史 人工智能思维 大模型:人工智能的前沿 AIGC应用与实践内容分享:引言 在数字化浪潮汹涌澎湃的当下,大模型如同…

一款基于.NET开源、强大的网络管理和网络问题排查工具!

前言 今天大姚给大家分享一款基于.NET开源、免费、功能强大的网络管理和网络问题排查工具:NETworkManager。 项目介绍 NETworkManager 是一个基于.NET开源(GPL-3.0 license)、免费、功能强大的开源工具,旨在帮助用户管理和解决网络问题。通过提供一系列网络连接和管理工具,…

Palera1n之苹果手机越狱,iOS15~iOS 18有根越狱方法

iOS15/16/17/18越狱教程用到的工具为palra1n ,该工具支持使用Sileo商店并安装插件。其他越狱方式可参考:https://www.cnblogs.com/codtina/可以添加对其他 arm64 Darwin 设备的支持,包括 Apple TV、HomePod 和 Darwin 21 及更高版本上的 iBridge,但目前不受支持。 永远不会支…

Palera1n苹果手机越狱,iOS15~iOS 18有根越狱方法

iOS15/16/17/18越狱教程用到的工具为palra1n ,该工具支持使用Sileo商店并安装插件。其他越狱方式可参考:https://www.cnblogs.com/codtina/可以添加对其他 arm64 Darwin 设备的支持,包括 Apple TV、HomePod 和 Darwin 21 及更高版本上的 iBridge,但目前不受支持。 永远不会支…

Palera1n iOS15.8.2~iOS 18有根越狱教程

iOS15/16/17/18越狱教程用到的工具为palra1n ,该工具支持使用Sileo商店并安装插件。可以添加对其他 arm64 Darwin 设备的支持,包括 Apple TV、HomePod 和 Darwin 21 及更高版本上的 iBridge,但目前不受支持。 永远不会支持 arm64e 设备。A11设备在使用前需要关闭锁屏密码,如…

POV vs FPV All In One

POV vs FPV All In One FPV 只是 POV 的一种特殊形式 ✅ point-of-view 视点 first-person view 第一人称视角POV vs FPV All In OneFPV 只是 POV 的一种特殊形式 ✅FPV is similar to the POV drone shot—however, the equipment makes the shooting experience quite differ…

【CodeForces训练记录】Codeforces Round 1009 (Div. 3)

训练情况赛后反思 大翻车,C题打表直接开猜,D题想到了转化行贡献再线段覆盖,但是不会算时间复杂度没敢写,后来试了一发给过了 A题 显然四个点都在坐标轴上,构成正方形只有四个数相等的情况点击查看代码 #include <bits/stdc++.h> // #define int long long #define e…

Cilium Ingress及插件的高级特性

作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任。 目录一.启用Cilium Ingress Controller1.Cilium Ingress Controller概述2.启用Cilium Ingress Controller3.部署metallb组件4.测试Ingress规则之dedicated模式5.测试Ingress规则之shared模式二.Cilium高级特性…

pycharm基础使用方法

https://blog.csdn.net/MikexunP/article/details/89414928 基本配置 我们安装好PyCharm后,首先要进行一些小配置,比如主题,字体,字体颜色等。 我们打开PyCharm后,点开file,找到Setting 然后就会跳出Setting的窗口 可以说PyCharm的各种配置都需要在这里配置,现在我们进入…

FastAPI 错误处理与自定义错误消息完全指南:构建健壮的 API 应用 ️

title: FastAPI 错误处理与自定义错误消息完全指南:构建健壮的 API 应用 🛠️ date: 2025/3/12 updated: 2025/3/12 author: cmdragon excerpt: 我们将涵盖常见的错误类型、如何捕获和处理这些错误、以及如何返回自定义的错误消息。通过实例和最佳实践,您将能够有效地应对…

基于Flask的Web应用开发

基于Flask的Web应用开发项目来源:[【基于Flask的Web应用开发-01.应用介绍及Flask安装_s】](【基于Flask的Web应用开发-01.应用介绍及Flask安装_s】 https://www.bilibili.com/video/BV1r94y1j7uW/?share_source=copy_web&vd_source=d0886da49a29063777f2956d5780b087) 原…