Grid 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
用于按行和列排列视图的布局。
public ref class Grid : Microsoft::Maui::Controls::Layout, Microsoft::Maui::IGridLayout, System::Collections::Generic::ICollection<Microsoft::Maui::IView ^>, System::Collections::Generic::IEnumerable<Microsoft::Maui::IView ^>, System::Collections::Generic::IList<Microsoft::Maui::IView ^>
[Microsoft.Maui.Controls.ContentProperty("Children")]
public class Grid : Microsoft.Maui.Controls.Layout, Microsoft.Maui.IGridLayout, System.Collections.Generic.ICollection<Microsoft.Maui.IView>, System.Collections.Generic.IEnumerable<Microsoft.Maui.IView>, System.Collections.Generic.IList<Microsoft.Maui.IView>
[<Microsoft.Maui.Controls.ContentProperty("Children")>]
type Grid = class
inherit Layout
interface IGridLayout
interface ILayout
interface IView
interface IElement
interface ITransform
interface IContainer
interface IList<IView>
interface ICollection<IView>
interface seq<IView>
interface IEnumerable
interface ISafeAreaView
interface IPadding
interface ICrossPlatformLayout
Public Class Grid
Inherits Layout
Implements ICollection(Of IView), IEnumerable(Of IView), IGridLayout, IList(Of IView)
- 继承
- 继承
- 派生
- 属性
- 实现
注解
以下示例演示了基本用法:
using System;
using Microsoft.Maui.Controls;
namespace FormsGallery
{
class GridDemoPage : ContentPage
{
public GridDemoPage()
{
Grid grid = new Grid
{
VerticalOptions = LayoutOptions.FillAndExpand,
RowDefinitions =
{
new RowDefinition { Height = GridLength.Auto },
new RowDefinition { Height = GridLength.Auto },
new RowDefinition { Height = new GridLength(1, GridUnitType.Star) },
new RowDefinition { Height = new GridLength(100, GridUnitType.Absolute) }
},
ColumnDefinitions =
{
new ColumnDefinition { Width = GridLength.Auto },
new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) },
new ColumnDefinition { Width = new GridLength(100, GridUnitType.Absolute) }
}
};
grid.AddWithSpan(new Label
{
Text = "Grid",
FontSize = Device.GetNamedSize (NamedSize.Large, typeof(Label)),
HorizontalOptions = LayoutOptions.Center
}, 0, 3, 0, 1);
grid.Add(new Label
{
Text = "Autosized cell",
TextColor = Color.White,
BackgroundColor = Color.Blue
}, 0, 1);
grid.Add(new BoxView
{
Color = Color.Silver,
HeightRequest = 0
}, 1, 1);
grid.Add(new BoxView
{
Color = Color.Teal
}, 0, 2);
grid.Add(new Label
{
Text = "Leftover space",
TextColor = Color.Purple,
BackgroundColor = Color.Aqua,
HorizontalTextAlignment = TextAlignment.Center,
VerticalTextAlignment = TextAlignment.Center,
}, 1, 2);
grid.AddWithSpan(new Label
{
Text = "Span two rows (or more if you want)",
TextColor = Color.Yellow,
BackgroundColor = Color.Navy,
HorizontalTextAlignment = TextAlignment.Center,
VerticalTextAlignment = TextAlignment.Center
}, 2, 3, 1, 3);
grid.AddWithSpan(new Label
{
Text = "Span 2 columns",
TextColor = Color.Blue,
BackgroundColor = Color.Yellow,
HorizontalTextAlignment = TextAlignment.Center,
VerticalTextAlignment = TextAlignment.Center
}, 0, 2, 3, 4);
grid.Add(new Label
{
Text = "Fixed 100x100",
TextColor = Color.Aqua,
BackgroundColor = Color.Red,
HorizontalTextAlignment = TextAlignment.Center,
VerticalTextAlignment = TextAlignment.Center
}, 2, 3);
// Accomodate iPhone status bar.
this.Padding = new Thickness(10, Device.OnPlatform(20, 0, 0), 10, 5);
// Build the page.
this.Content = grid;
}
}
}
下面显示了各种平台上的网格:
布局类可以 Grid 方便地存储其每个子元素的行和列索引。 此外,使用网格布局元素时View,应用程序开发人员可以使用列和列范围的等效静态方法访问和更改子元素本身GetRowSpan(BindableObject)GetRow(BindableObject)SetRow(BindableObject, Int32)SetRowSpan(BindableObject, Int32)的位置和范围。
以下 Grid 成员方法的文档包含 XAML 语法示例:
- SetRow(BindableObject, Int32):
- SetRowSpan(BindableObject, Int32):
- SetColumn(BindableObject, Int32):
- SetColumnSpan(BindableObject, Int32):
构造函数
Grid() |
用于按行和列排列视图的布局。 |
字段
_layoutManager |
用于按行和列排列视图的布局。 (继承自 Layout) |
ColumnDefinitionsProperty |
的可绑定属性 ColumnDefinitions。 |
ColumnProperty |
附加属性的可绑定属性 |
ColumnSpacingProperty |
的可绑定属性 ColumnSpacing。 |
ColumnSpanProperty |
附加属性的可绑定属性 |
propertyMapper |
表示视图的内部 PropertyMapper。 (继承自 View) |
RowDefinitionsProperty |
的可绑定属性 RowDefinitions。 |
RowProperty |
附加属性的可绑定属性 |
RowSpacingProperty |
的可绑定属性 RowSpacing。 |
RowSpanProperty |
附加属性的可绑定属性 |
transientNamescope |
用于按行和列排列视图的布局。 (继承自 Element) |
属性
AnchorX |
获取或设置任何转换操作的中心点的 X 组件,相对于元素的边界。 这是一种可绑定属性。 (继承自 VisualElement) |
AnchorY |
获取或设置任何转换操作的中心点的 Y 组件,相对于元素的边界。 这是一种可绑定属性。 (继承自 VisualElement) |
AutomationId |
获取或设置允许自动化框架查找此元素并与其交互的值。 (继承自 Element) |
Background |
获取或设置 Brush 将用于填充元素背景的元素。 这是一种可绑定属性。 (继承自 VisualElement) |
BackgroundColor |
获取或设置 Color 将填充元素的背景。 这是一种可绑定属性。 (继承自 VisualElement) |
Batched |
获取一个值,该值指示对此元素进行了批处理更改。 (继承自 VisualElement) |
Behaviors |
获取与此元素关联的对象列表 Behavior 。 这是一种只读可绑定属性。 (继承自 VisualElement) |
BindingContext |
获取或设置一个对象,该对象包含由属于此 BindableObject属性的绑定属性所面向的属性。 这是一种可绑定属性。 (继承自 BindableObject) |
Bounds |
获取与设备无关的单元中元素的边界。 (继承自 VisualElement) |
CascadeInputTransparent |
获取或设置一个值,该值控制子元素在传输时是否继承此布局的 |
Children |
获取此布局中包含的子对象。 (继承自 Layout) |
class |
获取或设置元素的样式类。 (继承自 NavigableElement) |
ClassId |
获取或设置用于标识语义相似元素集合的值。 (继承自 Element) |
Clip |
指定元素的剪辑区域。 这是一种可绑定属性。 (继承自 VisualElement) |
ColumnDefinitions |
提供绑定属性的接口,该属性获取或设置控制 Grid 中列的布局的 ColumnDefinition 对象的有序集合。 |
ColumnSpacing |
获取或设置网格中列之间的间距量。 这是一种可绑定属性。 |
Count |
获取此布局中的子对象计数。 (继承自 Layout) |
DesiredSize |
获取在布局流程的度量传递过程中此元素计算所得的大小。 (继承自 VisualElement) |
DisableLayout |
获取一个值,该值指示此元素的布局已禁用。 (继承自 VisualElement) |
Dispatcher |
获取创建此可绑定对象时可用的调度程序,否则会尝试查找最近的可用调度程序(可能是窗口的/应用)。 (继承自 BindableObject) |
EffectControlProvider |
供 .NET MAUI 内部使用。 (继承自 Element) |
Effects |
获取或设置将在运行时应用于元素的样式和属性。 (继承自 Element) |
FlowDirection |
获取或设置布局流方向。 这是一种可绑定属性。 (继承自 VisualElement) |
Frame |
获取或设置此元素驻留在屏幕上的框架。 (继承自 VisualElement) |
GestureController |
用于按行和列排列视图的布局。 (继承自 View) |
GestureRecognizers |
与此视图关联的手势识别器的集合。 (继承自 View) |
Handler |
获取或设置与此 IViewHandler 元素关联的项。 (继承自 VisualElement) |
Height |
获取此元素的当前呈现高度。 这是一种只读可绑定属性。 (继承自 VisualElement) |
HeightRequest |
获取或设置此元素的所需高度替代。 这是一种可绑定属性。 (继承自 VisualElement) |
HorizontalOptions |
获取或设置 LayoutOptions 定义元素在布局周期中布局的方式。 这是一种可绑定属性。 (继承自 View) |
Id |
获取一个值,该值可用于在应用程序运行过程中唯一标识元素。 (继承自 Element) |
IgnoreSafeArea |
指定视图内容相对于障碍的定位方式。 如果此值为 |
InputTransparent |
获取或设置一个值,该值指示此元素在用户交互期间是否响应命中测试。 这是一种可绑定属性。 (继承自 VisualElement) |
IsClippedToBounds |
获取或设置一个值,该值确定布局是否应将其子级剪辑到其边界。
默认值为 |
IsEnabled |
获取或设置一个值,该值指示是否在用户界面中启用此元素。 这是一种可绑定属性。 (继承自 VisualElement) |
IsEnabledCore |
此值表示累积 IsEnabled 值。 重写此属性的所有类型都需要在值更改时调用 RefreshIsEnabledProperty() 方法。 (继承自 VisualElement) |
IsFocused |
获取一个值,该值指示当前是否聚焦此元素。 这是一种可绑定属性。 (继承自 VisualElement) |
IsInPlatformLayout |
获取或设置一个值,该值指示此元素当前正在经历平台布局周期。 (继承自 VisualElement) |
IsLoaded |
指示元素是否已连接到主对象树。 (继承自 VisualElement) |
IsPlatformEnabled |
获取或设置一个值,该值指示是否启用此元素的平台等效元素。 (继承自 VisualElement) |
IsPlatformStateConsistent |
获取或设置一个值,该值指示此元素当前与平台等效元素状态一致。 (继承自 VisualElement) |
IsReadOnly |
获取此布局是否是只读的。 (继承自 Layout) |
IsVisible |
获取或设置一个值,该值确定此元素在屏幕上是否可见,并在布局中占用空间。 这是一种可绑定属性。 (继承自 VisualElement) |
Item[Int32] |
用于按行和列排列视图的布局。 (继承自 Layout) |
LogicalChildren |
已过时.
用于按行和列排列视图的布局。 (继承自 Element) |
Margin |
获取或设置视图的边距。 (继承自 View) |
MaximumHeightRequest |
获取或设置元素在布局期间请求的最大高度。 这是一种可绑定属性。 (继承自 VisualElement) |
MaximumWidthRequest |
获取或设置元素在布局期间请求的最大宽度。 这是一种可绑定属性。 (继承自 VisualElement) |
MinimumHeightRequest |
获取或设置元素在布局期间请求的最小高度。 这是一种可绑定属性。 (继承自 VisualElement) |
MinimumWidthRequest |
获取或设置元素在布局期间请求的最小宽度。 这是一种可绑定属性。 (继承自 VisualElement) |
Navigation |
获取负责处理基于堆栈的导航的对象。 (继承自 NavigableElement) |
NavigationProxy |
获取转换为 Navigation . NavigationProxy. (继承自 NavigableElement) |
Opacity |
获取或设置呈现元素时应用于元素的不透明度值。 此值的范围为 0 到 1;超出此范围的值将设置为最接近的有效值。 这是一种可绑定属性。 (继承自 VisualElement) |
Padding |
获取或设置布局的内部填充。 默认值是 Thickness 设置为 0 的所有值。 (继承自 Layout) |
Parent |
获取或设置此元素的父 Element 级。 (继承自 Element) |
RealParent |
供 .NET MAUI 内部使用。 (继承自 Element) |
Resources |
获取或设置本地资源字典。 (继承自 VisualElement) |
Rotation |
获取或设置呈现元素时围绕 Z 轴(仿射旋转)的旋转角度(以度为单位)。 这是一种可绑定属性。 (继承自 VisualElement) |
RotationX |
获取或设置呈现元素时围绕 X 轴(透视旋转)的旋转角度(以度为单位)。 这是一种可绑定属性。 (继承自 VisualElement) |
RotationY |
获取或设置呈现元素时围绕 Y 轴(透视旋转)的旋转角度(以度为单位)。 这是一种可绑定属性。 (继承自 VisualElement) |
RowDefinitions |
提供绑定属性的接口,该属性获取或设置控制每行高度的 RowDefinition 对象的集合。 |
RowSpacing |
获取或设置网格中行之间的间距量。 这是一种可绑定属性。 |
Scale |
获取或设置应用于元素的比例因子。 这是一种可绑定属性。 (继承自 VisualElement) |
ScaleX |
获取或设置要应用于 X 方向的缩放值。 这是一种可绑定属性。 (继承自 VisualElement) |
ScaleY |
获取或设置要应用于 Y 方向的缩放值。 这是一种可绑定属性。 (继承自 VisualElement) |
Shadow |
获取或设置元素强制转换的阴影效果。 这是一种可绑定属性。 (继承自 VisualElement) |
Style |
获取或设置此元素的唯 Style 一值。 (继承自 NavigableElement) |
StyleClass |
获取或设置元素的样式类。 (继承自 NavigableElement) |
StyleId |
获取或设置用于唯一地标识元素的用户定义的值。 (继承自 Element) |
TranslationX |
获取或设置元素的 X 转换增量。 这是一种可绑定属性。 (继承自 VisualElement) |
TranslationY |
获取或设置元素的 Y 转换增量。 这是一种可绑定属性。 (继承自 VisualElement) |
Triggers |
获取与此元素关联的对象列表 TriggerBase 。 这是一种只读可绑定属性。 (继承自 VisualElement) |
VerticalOptions |
获取或设置 LayoutOptions 定义元素在布局周期中布局的方式。 这是一种可绑定属性。 (继承自 View) |
Visual |
获取或设置替代 IVisual 元素的视觉外观的实现。 这是一种可绑定属性。 (继承自 VisualElement) |
Width |
获取此元素的当前宽度。 这是一种只读可绑定属性。 (继承自 VisualElement) |
WidthRequest |
获取或设置此元素的所需宽度替代。 这是一种可绑定属性。 (继承自 VisualElement) |
Window |
Window获取与元素关联的项。 这是一种只读可绑定属性。 (继承自 VisualElement) |
X |
获取此元素的当前 X 位置。 这是一种只读可绑定属性。 (继承自 VisualElement) |
Y |
获取此元素的当前 Y 位置。 这是一种只读可绑定属性。 (继承自 VisualElement) |
ZIndex |
获取或设置布局中元素的前向后 z 索引。 这是一种可绑定属性。 (继承自 VisualElement) |
方法
事件
BatchCommitted |
通过调用 BatchCommit()提交一批属性更改时发生。 (继承自 VisualElement) |
BindingContextChanged |
当 BindingContext 属性的值更改时发生。 (继承自 BindableObject) |
ChildAdded |
每当将子元素添加到元素时引发。 (继承自 Element) |
ChildRemoved |
每当从元素中删除子元素时引发。 (继承自 Element) |
ChildrenReordered |
当此元素的子元素的顺序发生更改时发生。 (继承自 VisualElement) |
DescendantAdded |
每当将子元素添加到元素的子树时引发。 (继承自 Element) |
DescendantRemoved |
每当从元素子树中删除子元素时引发。 (继承自 Element) |
FocusChangeRequested |
已过时.
请求焦点更改时发生。 (继承自 VisualElement) |
Focused |
当此元素处于焦点时发生。 (继承自 VisualElement) |
HandlerChanged |
每当元素的处理程序发生更改时引发。 (继承自 Element) |
HandlerChanging |
每当元素的处理程序开始更改时引发。 (继承自 Element) |
Loaded |
在构造元素并将其添加到平台可视化树时发生。 (继承自 VisualElement) |
MeasureInvalidated |
当元素的当前度量值失效时发生。 (继承自 VisualElement) |
ParentChanged |
每当元素的父级发生更改时引发。 (继承自 Element) |
ParentChanging |
每当元素开始更改时引发。 (继承自 Element) |
PropertyChanged |
在属性值更改时发生。 (继承自 BindableObject) |
PropertyChanging |
在属性值更改时发生。 (继承自 BindableObject) |
SizeChanged |
当元素的大小发生更改时发生。 (继承自 VisualElement) |
Unfocused |
当此元素未聚焦时发生。 (继承自 VisualElement) |
Unloaded |
当元素不再连接到平台可视化树时发生。 (继承自 VisualElement) |