控件
.NET Multi-platform App UI (.NET MAUI) 应用的用户界面由映射到每个目标平台本机控件的对象构成。
用于创建 .NET MAUI 应用用户界面的主控件组包括页面、布局和视图。 .NET MAUI 页面通常占据全屏或窗口。 页面通常包含布局,其中包含视图以及可能的其他布局。 页面、布局和视图派生自 VisualElement 类。 此类提供了在派生类时有用的各种属性、方法和事件。
页
.NET MAUI 应用由一个或多个页面组成。 页面通常占用所有屏幕或窗口,并且每个页面通常包含至少一个布局。
.NET MAUI 包含以下页面:
页码 | 说明 |
---|---|
ContentPage | ContentPage 显示单个视图,并且是最常见的页面类型。 有关详细信息,请参阅 ContentPage。 |
FlyoutPage | FlyoutPage 页面用于管理两个相关信息页,一个为显示项的浮出控件页,另一个为详细信息页,显示浮出控件页上各项的详细信息。 有关详细信息,请参阅 FlyoutPage。 |
NavigationPage | NavigationPage 提供分层导航体验,用户可以根据需要向前或向后导航页面。 有关详细信息,请参阅 NavigationPage。 |
TabbedPage | TabbedPage 由一系列页面组成,可通过页面顶部或底部的选项卡导航,每个选项卡都会加载页面内容。 有关详细信息,请参阅 TabbedPage。 |
布局
.NET MAUI 布局用于将用户界面控件组合到视觉结构中,每个布局通常包含多个视图。 布局类通常包含用于设置子元素的位置和大小的逻辑。
.NET MAUI 包含下列布局:
Layout | 说明 |
---|---|
AbsoluteLayout | AbsoluteLayout 将子元素放置在相对于其父元素的特定位置。 有关详细信息,请参阅 AbsoluteLayout。 |
BindableLayout | BindableLayout 允许任何布局类通过绑定到项集合来生成其内容,并可以选择设置每个项的外观。 有关详细信息,请参阅 BindableLayout。 |
FlexLayout | FlexLayout 允许使用不同的对齐方式和方向选项堆叠或包裹其子元素。 FlexLayout 基于 CSS 灵活框布局模块,称为弹性布局或弹性框。 有关详细信息,请参阅 FlexLayout。 |
Grid | Grid 将其子元素放置在行和列网格中。 有关详细信息,请参阅网格。 |
HorizontalStackLayout | HorizontalStackLayout 将子元素放置在水平堆栈中。 有关详细信息,请参阅 HorizontalStackLayout。 |
StackLayout | StackLayout 将子元素放置在垂直或水平堆栈中。 有关详细信息,请参阅 StackLayout。 |
VerticalStackLayout | VerticalStackLayout 将子元素放置在垂直堆栈中。 有关详细信息,请参阅 VerticalStackLayout。 |
视图
.NET MAUI 视图是标签、按钮和滑块等 UI 对象,在其他环境中通常被称为控件或小组件。
.NET MAUI 包含下列视图:
视图 | 说明 |
---|---|
ActivityIndicator | ActivityIndicator 使用动画来说明应用正在进行耗时较长的活动,而不指示进度。 有关详细信息,请参阅 ActivityIndicator。 |
BlazorWebView | BlazorWebView 可用于在 .NET MAUI 应用中托管 Blazor Web 应用。 有关详细信息,请参阅 BlazorWebView。 |
Border | Border 是一个容器控件,用于围绕另一个控件绘制边框和/或背景。 有关详细信息,请参阅 Border。 |
BoxView | BoxView 可绘制具有指定宽度、高度和颜色的矩形或正方形。 有关详细信息,请参阅 BoxView。 |
Button | Button 显示文本并响应指示应用执行任务的点击或单击操作。 有关详细信息,请参阅 Button。 |
CarouselView | CarouselView 可显示数据项的可滚动列表,用户在其中轻扫便可在集合中移动。 有关详细信息,请参阅 CarouselView。 |
CheckBox | CheckBox 允许使用可以选中或留空的按钮类型选择布尔值。 有关详细信息,请参阅 CheckBox。 |
CollectionView | CollectionView 使用不同的布局规范显示可选择数据项的滚动列表。 有关详细信息,请参阅 CollectionView。 |
ContentView | ContentView 是一种支持创建自定义可重用控件的控件。 有关详细信息,请参阅 ContentView。 |
DatePicker | DatePicker 允许使用平台日期选取器选择日期。 有关详细信息,请参阅 DatePicker。 |
Editor | Editor 允许输入和编辑多行文本。 有关详细信息,请参阅 Editor。 |
Ellipse | Ellipse 显示椭圆或圆形。 有关详细信息,请参阅 Ellipse。 |
Entry | Entry 允许输入和编辑单行文本。 有关详细信息,请参阅 Entry。 |
Frame | Frame 用于使用可通过颜色、阴影及其他选项配置的边框来包装视图或布局。 有关详细信息,请参阅 Frame。 |
GraphicsView | GraphicsView 是一个图形画布,可在上面使用 Microsoft.Maui.Graphics 命名空间中的类型绘制 2D 图形。 有关详细信息,请参阅 GraphicsView。 |
Image | Image 显示可从本地文件、URI、嵌入的资源或数据流加载的图像。 有关详细信息,请参阅 Image。 |
ImageButton | ImageButton 显示图像并对指示应用执行任务的点击或单击操作做出响应。 有关详细信息,请参阅 ImageButton。 |
IndicatorView | IndicatorView 显示表示 CarouselView 中的项数的指示器。 有关详细信息,请参阅 IndicatorView。 |
Label | Label 显示单行和多行文本。 有关详细信息,请参阅 Label。 |
Line | Line 显示从起点到终点的直线。 有关详细信息,请参阅 Line。 |
ListView | ListView 显示可选择数据项的可滚动列表。 有关详细信息,请参阅 ListView。 |
Map | Map 显示地图,并且要求在应用中安装 Microsoft.Maui.Controls.Maps NuGet 包。 |
Path | Path 显示曲线和复杂形状。 有关详细信息,请参阅 Path。 |
Picker | Picker 显示项的简短列表,可从中选择项。 有关详细信息,请参阅 Picker。 |
Polygon | Polygon 显示多边形。 有关详细信息,请参阅 Polygon。 |
Polyline | Polyline 显示一系列相互连接的直线。 有关详细信息,请参阅 Polyline。 |
ProgressBar | ProgressBar 使用动画来说明应用正在进行耗时较长的活动。 有关详细信息,请参阅 ProgressBar。 |
RadioButton | RadioButton 是一种按钮类型,允许从集中选择一个选项。 有关详细信息,请参阅 RadioButton。 |
Rectangle | Rectangle 显示矩形或正方形。 有关详细信息,请参阅 Rectangle。 |
RefreshView | RefreshView 是一种容器控件,为可滚动内容提供下拉以刷新功能。 有关详细信息,请参阅 RefreshView。 |
RoundRectangle | RoundRectangle 显示带圆角的矩形或正方形。 有关详细信息,请参阅 Rectangle。 |
ScrollView | ScrollView 可滚动其内容,这通常是布局。 有关详细信息,请参阅 ScrollView。 |
SearchBar | SearchBar 是用于启动搜索的用户输入控件。 有关详细信息,请参阅 SearchBar。 |
Slider | Slider 允许从连续范围中选择 double 值。 有关详细信息,请参阅 Slider。 |
Stepper | Stepper 允许从一系列增量值中选择 double 值。 有关详细信息,请参阅 Stepper。 |
SwipeView | SwipeView 是一个容器控件,可环绕内容项,并提供通过轻扫手势显示的上下文菜单项。 有关详细信息,请参阅 SwipeView。 |
Switch | Switch 允许使用一种可打开或关闭的按钮类型选择布尔值。 有关详细信息,请参阅 Switch。 |
TableView | TableView 显示可滚动项的表,这些项可分组到节中。 有关详细信息,请参阅 TableView。 |
TimePicker | TimePicker 允许使用平台时间选取器选择时间。 有关详细信息,请参阅 TimePicker。 |
TwoPaneView | TwoPaneView 表示一个带有两个视图的容器,这些视图会调整内容的大小,并在可用空间内以并排方式或从上到下的顺序放置内容。 有关详细信息,请参阅 TwoPaneView。 |
WebView | WebView 显示网页或本地 HTML 内容。 有关详细信息,请参阅 WebView。 |
视图 | 说明 |
---|---|
ActivityIndicator | ActivityIndicator 使用动画来说明应用正在进行耗时较长的活动,而不指示进度。 有关详细信息,请参阅 ActivityIndicator。 |
BlazorWebView | BlazorWebView 可用于在 .NET MAUI 应用中托管 Blazor Web 应用。 有关详细信息,请参阅 BlazorWebView。 |
Border | Border 是一个容器控件,用于围绕另一个控件绘制边框和/或背景。 有关详细信息,请参阅 Border。 |
BoxView | BoxView 可绘制具有指定宽度、高度和颜色的矩形或正方形。 有关详细信息,请参阅 BoxView。 |
Button | Button 显示文本并响应指示应用执行任务的点击或单击操作。 有关详细信息,请参阅 Button。 |
CarouselView | CarouselView 可显示数据项的可滚动列表,用户在其中轻扫便可在集合中移动。 有关详细信息,请参阅 CarouselView。 |
CheckBox | CheckBox 允许使用可以选中或留空的按钮类型选择布尔值。 有关详细信息,请参阅 CheckBox。 |
CollectionView | CollectionView 使用不同的布局规范显示可选择数据项的滚动列表。 有关详细信息,请参阅 CollectionView。 |
ContentView | ContentView 是一种支持创建自定义可重用控件的控件。 有关详细信息,请参阅 ContentView。 |
DatePicker | DatePicker 允许使用平台日期选取器选择日期。 有关详细信息,请参阅 DatePicker。 |
Editor | Editor 允许输入和编辑多行文本。 有关详细信息,请参阅 Editor。 |
Ellipse | Ellipse 显示椭圆或圆形。 有关详细信息,请参阅 Ellipse。 |
Entry | Entry 允许输入和编辑单行文本。 有关详细信息,请参阅 Entry。 |
Frame | Frame 用于使用可通过颜色、阴影及其他选项配置的边框来包装视图或布局。 有关详细信息,请参阅 Frame。 |
GraphicsView | GraphicsView 是一个图形画布,可在上面使用 Microsoft.Maui.Graphics 命名空间中的类型绘制 2D 图形。 有关详细信息,请参阅 GraphicsView。 |
HybridWebView | HybridWebView 支持在 Web 视图 中托管任意 HTML/JS/CSS 内容,并允许 Web 视图 (JavaScript) 中的代码与托管 Web 视图 (C#/.NET) 的代码之间进行通信。 有关详细信息,请参阅 HybridWebView。 |
Image | Image 显示可从本地文件、URI、嵌入的资源或数据流加载的图像。 有关详细信息,请参阅 Image。 |
ImageButton | ImageButton 显示图像并对指示应用执行任务的点击或单击操作做出响应。 有关详细信息,请参阅 ImageButton。 |
IndicatorView | IndicatorView 显示表示 CarouselView 中的项数的指示器。 有关详细信息,请参阅 IndicatorView。 |
Label | Label 显示单行和多行文本。 有关详细信息,请参阅 Label。 |
Line | Line 显示从起点到终点的直线。 有关详细信息,请参阅 Line。 |
ListView | ListView 显示可选择数据项的可滚动列表。 有关详细信息,请参阅 ListView。 |
Map | Map 显示地图,并且要求在应用中安装 Microsoft.Maui.Controls.Maps NuGet 包。 |
Path | Path 显示曲线和复杂形状。 有关详细信息,请参阅 Path。 |
Picker | Picker 显示项的简短列表,可从中选择项。 有关详细信息,请参阅 Picker。 |
Polygon | Polygon 显示多边形。 有关详细信息,请参阅 Polygon。 |
Polyline | Polyline 显示一系列相互连接的直线。 有关详细信息,请参阅 Polyline。 |
ProgressBar | ProgressBar 使用动画来说明应用正在进行耗时较长的活动。 有关详细信息,请参阅 ProgressBar。 |
RadioButton | RadioButton 是一种按钮类型,允许从集中选择一个选项。 有关详细信息,请参阅 RadioButton。 |
Rectangle | Rectangle 显示矩形或正方形。 有关详细信息,请参阅 Rectangle。 |
RefreshView | RefreshView 是一种容器控件,为可滚动内容提供下拉以刷新功能。 有关详细信息,请参阅 RefreshView。 |
RoundRectangle | RoundRectangle 显示带圆角的矩形或正方形。 有关详细信息,请参阅 Rectangle。 |
ScrollView | ScrollView 可滚动其内容,这通常是布局。 有关详细信息,请参阅 ScrollView。 |
SearchBar | SearchBar 是用于启动搜索的用户输入控件。 有关详细信息,请参阅 SearchBar。 |
Slider | Slider 允许从连续范围中选择 double 值。 有关详细信息,请参阅 Slider。 |
Stepper | Stepper 允许从一系列增量值中选择 double 值。 有关详细信息,请参阅 Stepper。 |
SwipeView | SwipeView 是一个容器控件,可环绕内容项,并提供通过轻扫手势显示的上下文菜单项。 有关详细信息,请参阅 SwipeView。 |
Switch | Switch 允许使用一种可打开或关闭的按钮类型选择布尔值。 有关详细信息,请参阅 Switch。 |
TableView | TableView 显示可滚动项的表,这些项可分组到节中。 有关详细信息,请参阅 TableView。 |
TimePicker | TimePicker 允许使用平台时间选取器选择时间。 有关详细信息,请参阅 TimePicker。 |
TwoPaneView | TwoPaneView 表示一个带有两个视图的容器,这些视图会调整内容的大小,并在可用空间内以并排方式或从上到下的顺序放置内容。 有关详细信息,请参阅 TwoPaneView。 |
WebView | WebView 显示网页或本地 HTML 内容。 有关详细信息,请参阅 WebView。 |