控件

浏览示例。 浏览示例

.NET Multi-platform App UI (.NET MAUI) 应用的用户界面由映射到每个目标平台本机控件的对象构成。

用于创建 .NET MAUI 应用用户界面的主控件组包括页面、布局和视图。 .NET MAUI 页面通常占据全屏或窗口。 页面通常包含布局,其中包含视图以及可能的其他布局。 页面、布局和视图派生自 VisualElement 类。 此类提供了在派生类时有用的各种属性、方法和事件。

注意

ListViewTableView 还支持使用单元格。 单元格是专门用于表中项的元素,用于描述列表中的每个项如何呈现。

.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