Xamarin.Forms 视图

Xamarin.Forms 视图是跨平台移动用户界面的构建基块。

视图是用户界面对象,例如标签、按钮和滑块,在其他图形编程环境中通常称为控件或小组件。 Xamarin.Forms 支持的视图均派生自 View 类。 它们可以分为多个类别:

用于演示的视图

类型 描述 外观
BoxView BoxView 显示由 Color 属性着色的纯色矩形。 BoxView 的默认大小请求为 40x40。 对于其他大小,请分配 WidthRequestHeightRequest 属性。

API 文档 / 指南
BoxView 示例
此页的 C# 代码 / XAML 页
Ellipse Ellipse 显示 WidthRequest x HeightRequest 大小的椭圆或圆。 若要绘制椭圆内部,请将其 Fill 属性设置为 Color。 要为椭圆添加轮廓,请将其 Stroke 属性设置为 Color

API 文档 / 指南
椭圆示例
此页的 C# 代码 / XAML 页
Label Label 显示具有常量或变量格式的单行文本字符串或多行文本块。 将 Text 属性设置为常量格式的字符串,或将 FormattedText 属性设置为变量格式的 FormattedString 对象。

API 文档 / 指南
标签示例
此页的 C# 代码 / XAML 页
Line Line 显示从起点到终点的直线。 起点由 X1Y1 属性表示,而终点由 X2Y2 属性表示。 要给线着色,请将其 Stroke 属性设置为 Color

API 文档 / 指南
行示例
此页的 C# 代码 / XAML 页
Image Image 显示位图。 位图可以通过 Web 下载,也可以作为资源嵌入到通用项目或平台项目中,还可以使用 .NET Stream 对象创建。

API 文档 / 指南
图像示例
此页的 C# 代码 / XAML 页
Map Map 显示地图。 必须安装 Xamarin.Forms.Maps NuGet 包。 Android 和通用 Windows 平台需要地图授权密钥。

API 文档 / 指南
地图示例
此页的 C# 代码 / XAML 页
OpenGLView OpenGLView 在 iOS 和 Android 项目中显示 OpenGL 图。 不支持通用 Windows 平台。 iOS 和 Android 项目需要引用 OpenTK-1.0 程序集或 OpenTK 版本 1.0.0.0 程序集OpenGLView 在共享项目中更容易使用;如果在 .NET Standard 库中使用,则还需要依赖项服务(如示例代码所示)。

这是内置于 Xamarin.Forms 的唯一图设施,但 Xamarin.Forms 应用程序还可以使用 SkiaSharpUrhoSharp 来呈现图。

API 文档

OpenGLView 示例
此页的 C# 代码 / XAML 页带有代码隐藏
Path Path 显示曲线和复杂形状。 Data 属性指定要绘制的形状。 要给形状着色,请将其 Stroke 属性设置为 Color

API 文档 / 指南
路径示例
此页的 C# 代码 / XAML 页
Polygon Polygon 显示多边形。 Points 属性指定多边形的顶点,而 FillRule 属性指定如何确定多边形的内部填充。 若要绘制多边形内部,请将其 Fill 属性设置为 Color。 要为多边形添加轮廓,请将其 Stroke 属性设置为 Color

API 文档 / 指南
多边形示例
此页的 C# 代码 / XAML 页
Polyline Polyline 显示一系列相互连接的直线。 Points 属性指定折线的顶点,而 FillRule 属性指定如何确定折线的内部填充。 若要绘制折线内部,请将其 Fill 属性设置为 Color。 要为折线添加轮廓,请将其 Stroke 属性设置为 Color

API 文档 / 指南
折线示例
此页的 C# 代码 / XAML 页
Rectangle Rectangle 显示矩形或正方形。 若要绘制矩形内部,请将其 Fill 属性设置为 Color。 要为矩形添加轮廓,请将其 Stroke 属性设置为 Color

API 文档 / 指南
矩形示例
此页的 C# 代码 / XAML 页
WebView WebView 根据 Source 属性设置为 UriWebViewSource 还是 HtmlWebViewSource 对象显示网页或 HTML 内容。

API 文档 / 指南
WebView 示例
此页的 C# 代码 / XAML 页

启动命令的视图

类型 描述 外观
Button Button 是一个矩形对象,它显示文本,并在按下时触发 Clicked 事件。

API 文档 / 指南
按钮示例
此页的 C# 代码 / XAML 页带有代码隐藏
ImageButton ImageButton 是一个矩形对象,它显示图像,并在按下时触发 Clicked 事件。

API 文档 / 指南
ImageButton 示例
此页的 C# 代码 / XAML 页带有代码隐藏
RadioButton RadioButton 允许从集中选择一个选项,并在选择发生时触发 CheckedChanged 事件。

API 文档 / 指南
RadioButton 示例
此页的 C# 代码 / XAML 页带有代码隐藏
RefreshView RefreshView 是一种容器控件,为可滚动内容提供下拉以刷新功能。 Command 属性定义的 ICommand 在触发刷新时执行,IsRefreshing 属性指示控件的当前状态。

API 文档 / 指南
RefreshView 示例
此页的 C# 代码 / XAML 页带有代码隐藏
SearchBar SearchBar 显示用户键入文本字符串的区域,以及指示应用程序执行搜索的按钮(或键盘键)。 Text 属性提供对文本的访问,SearchButtonPressed 事件指示按钮已按下。

API 文档 / 指南
SearchBar 示例
此页的 C# 代码 / XAML 页带有代码隐藏
SwipeView SwipeView 是一个容器控件,可环绕内容项,并提供通过轻扫手势显示的上下文菜单项。 每个菜单项都由一个 SwipeItem 表示,它有一个 Command 属性,当点击该项时会执行 ICommand

API 文档 / 指南
SwipeView 示例
此页的 C# 代码 / XAML 页带有代码隐藏

设置值的视图

类型 描述 外观
CheckBox CheckBox 允许用户使用一种可以选中或为空的按钮来选择布尔值。 IsChecked 属性是 CheckBox 的状态,状态更改时会触发 CheckedChanged 事件。

API 文档 / 指南
CheckBox 示例
此页的 C# 代码 / XAML 页
Slider Slider 允许用户从使用 MinimumMaximum 属性指定的连续范围中选择 double 值。

API 文档 / 指南
滑块示例
此页的 C# 代码 / XAML 页
Stepper Stepper 允许用户从使用 MinimumMaximumIncrement 属性指定的增量值范围中选择 double 值。

API 文档 / 指南
Stepper 示例
此页的 C# 代码 / XAML 页
Switch Switch 采用开/关开关的形式,允许用户选择布尔值。 IsToggled 属性是开关的状态,状态更改时会触发 Toggled 事件。

API 文档 / 指南
Switch 示例
此页的 C# 代码 / XAML 页
DatePicker DatePicker 允许用户使用平台日期选取器选择日期。 使用 MinimumDateMaximumDate 属性设置允许的日期范围。 Date 属性是所选日期,当该属性发生更改时,将触发 DateSelected 事件。

API 文档 / 指南
DatePicker 示例
此页的 C# 代码 / XAML 页
TimePicker TimePicker 允许用户使用平台时间选取器选择时间。 Time 属性是所选时间。 应用程序可以通过安装 PropertyChanged 事件的处理程序来监视 Time 属性中的更改。

API 文档 / 指南
TimePicker 示例
此页的 C# 代码 / XAML 页

用于编辑文本的视图

这两个类派生自 InputView 类,该类定义 Keyboard 属性:

类型 描述 外观
Entry Entry 允许用户输入和编辑单行文本。 文本作为 Text 属性提供,当文本更改或用户通过点击 Enter 键表示完成时,将触发 TextChangedCompleted 事件。

使用 Editor 输入和编辑多行文本。

API 文档 / 指南
条目示例
此页的 C# 代码 / XAML 页
Editor Editor 允许用户输入和编辑多行文本。 文本作为 Text 属性提供,当文本更改或用户表示完成时,将触发 TextChangedCompleted 事件。

使用 Entry 视图输入和编辑单行文本。

API 文档 / 指南
编辑器示例
此页的 C# 代码 / XAML 页

指示活动的视图

类型 描述 外观
ActivityIndicator ActivityIndicator 使用一个动画,以显示应用程序正在执行长时间的活动,但不指示进度。 IsRunning 属性控制动画。

如果活动的进度已知,请改用 ProgressBar

API 文档 / 指南
ActivityIndicator 示例
此页的 C# 代码 / XAML 页
ProgressBar ProgressBar 使用一个动画,以显示应用程序正在经历一个漫长的活动。 将 Progress 属性设置为介于 0 和 1 之间的值以指示进度。

如果活动的进度未知,请改用 ActivityIndicator

API 文档 / 指南
ProgressBar 示例
此页的 C# 代码 / XAML 页带有代码隐藏

显示集合的视图

类型 描述 外观
CarouselView CarouselView 显示数据项的可滚动列表。 将 ItemsSource 属性设置为对象的集合,并将 ItemTemplate 属性设置为描述项格式的 DataTemplate 对象。 CurrentItemChanged 事件指示当前显示的项已更改,可作为 CurrentItem 属性使用。

指南
CarouselView 示例
此页的 C# 代码 / XAML 页
CollectionView CollectionView 使用不同的布局规范显示可选择数据项的滚动列表。 它的目标是提供取代 ListView 的更灵活、更高效的方案。 将 ItemsSource 属性设置为对象的集合,并将 ItemTemplate 属性设置为描述项格式的 DataTemplate 对象。 SelectionChanged 事件表示已做出选择,可作为 SelectedItem 属性使用。

指南
CollectionView 示例
此页的 C# 代码 / XAML 页
IndicatorView IndicatorView 显示表示 CarouselView 中的项数的指示器。 将 CarouselView.IndicatorView 属性设置为 IndicatorView 对象以显示 CarouselView 的指示器。

API 文档 / 指南
IndicatorView 示例
此页的 C# 代码 / XAML 页
ListView ListView 派生自 ItemsView,并显示可选择数据项的可滚动列表。 将 ItemsSource 属性设置为对象的集合,并将 ItemTemplate 属性设置为描述项格式的 DataTemplate 对象。 ItemSelected 事件表示已做出选择,可作为 SelectedItem 属性使用。

API 文档 / 指南
ListView 示例
此页的 C# 代码 / XAML 页
Picker Picker 显示文本字符串列表中的选定项,并允许在点击视图时选择该项。 将 Items 属性设置为字符串列表,或将 ItemsSource 属性设置为对象的集合。 选择项时,将触发 SelectedIndexChanged 事件。

仅当选定项时,Picker 才会显示项列表。 对页面上保留的可滚动列表使用 ListViewTableView

API 文档 / 指南
选取器示例
此页的 C# 代码 / XAML 页带有代码隐藏
TableView TableView 显示具有可选标题和子标题的 Cell 类型的行列表。 将 Root 属性设置为 TableRoot 类型的对象,并将 TableSection 对象添加到该 TableRoot。 每个 TableSection 都是 Cell 对象的集合。

API 文档 / 指南
TableView 示例
此页的 C# 代码 / XAML 页