12 2022 档案
摘要:MAUI的数据绑定机制允许应用程序的不同部分之间共享数据。数据绑定允许将应用程序中的数据与用户界面元素连接在一起,以使数据更易于管理和操作。 数据绑定在 MAUI 中使用MVVM模式(Model-View-ViewModel)来实现。在 MVVM 模式中,应用程序的用户界面由视图(View)和视图模
阅读全文
摘要:BindableLayout是一种用于数据绑定和显示的控件,它可以绑定一个集合数据源,并且可以根据指定的数据模板来呈现数据。BindableLayout在MAUI中的使用类似于ListView或CollectionView,但是具有更高的灵活性和可定制性。 BindableLayout的优点包括:
阅读全文
摘要:FlexLayout是MAUI中的一种布局控件,它使用CSS的Flexbox模型来进行布局,可以灵活地定位和调整控件的大小、位置和排列方式。 Flexbox是一种弹性盒子布局模型,能够自适应容器的大小,可以在不同的屏幕尺寸和方向下保持一致的布局效果。FlexLayout允许使用多个子元素来组成复杂的
阅读全文
摘要:AbsoluteLayout可以根据 X 和 Y 坐标放置元素,使其相对于其父元素的左上角位置对齐。允许用户指定控件在屏幕上的确切位置。与其他布局不同,AbsoluteLayout不依赖于控件的大小和位置。而是根据坐标将控件定位在指定的位置。 下面是一个使用AbsoluteLayout布局的简单示例
阅读全文
摘要:Grid是一种布局,它将子级组织成行和列,这些行和列可以有成比例或绝对大小。 默认情况下,Grid 包含一行和一列。 此外, Grid 可用作包含其他子布局的父布局。 Grid的主要特点: 灵活的行和列定义:可以通过指定行和列的数量以及它们的大小和比例来自由定义Grid的结构。 自适应宽度和高度:可
阅读全文
摘要:StackLayout:可以将子元素堆叠在一起,可以垂直或水平堆叠。 HorizontalStackLayout:在一维水平堆栈中组织子视图,比StackLayout性能高。 VerticalStackLayout:在一维垂直堆栈中组织子视图,比StackLayout性能高。 默认情况下,Stack
阅读全文
摘要:MAUI框架提供了多种布局(layout)选项,可以让大家轻松地定位和排列界面元素。 以下是一些常见的MAUI布局: StackLayout:可以将子元素堆叠在一起,可以垂直或水平堆叠。StackLayout 可用作包含其他子布局的父布局。 HorizontalStackLayout:在一维水平堆栈
阅读全文
摘要:MAUI (Multi-platform App UI) 是一个跨平台的 UI 框架,用于创建在多个平台上运行的本机用户界面。它是 Microsoft 推出的一个开源项目,它基于.NET和.NET MAUI技术栈,可以使用 C# 或 XAML 编写代码,并运行在Windows、macOS、iOS、A
阅读全文
摘要:有时我们期待我们接口的返回值有自定义格式,比如返回数字12,默认返回12。有时我们期待返回两位小数,即12.00。我们可以通过自定义JsonConverter来完成它。 首先我们引用Microsoft.AspNetCore.Mvc.NewtonsoftJson。 写自定义JsonConverter:
阅读全文
摘要:友元程序集是可以访问其他程序集的内部 (C#) 或友元 (Visual Basic) 类型和成员的程序集。 如果将一个程序集标识为友元程序集,则无需再将类型和成员标记为公共,其他程序集就能访问它们。这在我们进行测试时十分实用。 这里我们使用单元测试项目的代码,在UnitTest.ClassLibra
阅读全文
摘要:根据Generating HTTP API clients using Visual Studio Connected Services,我们得知,我们可以通过Visual Studio连接API,进而自动生成对应的客户端代码。 首先,我们启动一个本地服务DotNet6WebAPI。代码可以参考这里
阅读全文
摘要:有时我们需要计算两个时间点相差的年份和月份,比如从2022年1月到2023年3月,相差多少年多少月。 但TimeSpan(链接)只提供了总计天数、总计小时、总计分钟等等的结果,并没有提供总计年、总计月(由于它表示一个不引用特定起点或终点的常规间隔,因此不能用年和月来表示,这两者都有可变的天数。)。那
阅读全文