Grid 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
排列資料列和資料行中檢視的配置。
public class Grid : Xamarin.Forms.Layout<Xamarin.Forms.View>, Xamarin.Forms.IElementConfiguration<Xamarin.Forms.Grid>, Xamarin.Forms.IGridController
type Grid = class
inherit Layout<View>
interface IGridController
interface IElementConfiguration<Grid>
- 繼承
- 衍生
- 實作
備註
下列範例顯示基本用途:
using System;
using Xamarin.Forms;
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.Children.Add(new Label
{
Text = "Grid",
FontSize = Device.GetNamedSize (NamedSize.Large, typeof(Label)),
HorizontalOptions = LayoutOptions.Center
}, 0, 3, 0, 1);
grid.Children.Add(new Label
{
Text = "Autosized cell",
TextColor = Color.White,
BackgroundColor = Color.Blue
}, 0, 1);
grid.Children.Add(new BoxView
{
Color = Color.Silver,
HeightRequest = 0
}, 1, 1);
grid.Children.Add(new BoxView
{
Color = Color.Teal
}, 0, 2);
grid.Children.Add(new Label
{
Text = "Leftover space",
TextColor = Color.Purple,
BackgroundColor = Color.Aqua,
HorizontalTextAlignment = TextAlignment.Center,
VerticalTextAlignment = TextAlignment.Center,
}, 1, 2);
grid.Children.Add(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.Children.Add(new Label
{
Text = "Span 2 columns",
TextColor = Color.Blue,
BackgroundColor = Color.Yellow,
HorizontalTextAlignment = TextAlignment.Center,
VerticalTextAlignment = TextAlignment.Center
}, 0, 2, 3, 4);
grid.Children.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:
配置類別可 Grid 方便儲存其每個子項目的資料列和資料行索引。 此外,使用方格配置元素時 View ,應用程式開發人員可以使用 、 SetRow(BindableObject, Int32) 、 GetRowSpan(BindableObject) 、 SetRowSpan(BindableObject, Int32) 靜態方法和資料行範圍的對等靜態方法,從子系本身 GetRow(BindableObject) 存取和變更子系的位置和範圍。
下列 Grid 成員方法的檔包含 XAML 語法範例:
- SetRow(BindableObject, Int32)
- SetRowSpan(BindableObject, Int32)
- SetColumn(BindableObject, Int32)
- SetColumnSpan(BindableObject, Int32)
建構函式
Grid() |
初始化方格類別的新執行個體。 |
欄位
ColumnDefinitionsProperty |
實作 ColumnDefinitions 屬性,並允許 Grid 類別在執行階段將其繫結至其他物件的屬性。 |
ColumnProperty |
實作附加屬性,該附加屬性代表子項目以零為起始的資料行索引。 請參閱<備註>。 |
ColumnSpacingProperty |
實作 ColumnSpacing 屬性,並允許 Grid 類別在執行階段將其繫結至其他物件的屬性。 |
ColumnSpanProperty |
實作附加屬性,該附加屬性代表子項目延伸的資料行數目。 請參閱<備註>。 |
RowDefinitionsProperty |
實作 RowDefinitions 屬性,並允許 Grid 類別在執行階段將其繫結至其他物件的屬性。 |
RowProperty |
實作附加屬性,該附加屬性代表子項目以零為起始的資料列索引。 請參閱<備註>。 |
RowSpacingProperty |
實作 RowSpacing 屬性,並允許 Grid 類別在執行階段將其繫結至其他物件的屬性。 |
RowSpanProperty |
實作附加屬性,該附加屬性表示子項目延伸的資料列數目,並允許 Grid 類別在執行階段將其繫結至其他物件。 |
屬性
AnchorX |
取得或設定任何轉換內中心點的 X 元件 (相對於項目界限)。 這是可繫結屬性。 (繼承來源 VisualElement) |
AnchorY |
取得或設定任何轉換內中心點的 Y 元件 (相對於項目界限)。 這是可繫結屬性。 (繼承來源 VisualElement) |
AutomationId |
取得或設定值,允許自動化架構尋找此項目並與之互動。 (繼承來源 Element) |
Background |
排列資料列和資料行中檢視的配置。 (繼承來源 VisualElement) |
BackgroundColor |
取得或設定將會填滿 VisualElement 背景的色彩。 這是可繫結屬性。 (繼承來源 VisualElement) |
Batched |
供 Xamarin.Forms 平台內部使用。 (繼承來源 VisualElement) |
Behaviors |
取得與此元素關聯的行為清單。 這是可繫結屬性。 (繼承來源 VisualElement) |
BindingContext |
取得或設定物件,這個物件包含屬於此 BindableObject 屬性繫結屬性將設為目標的屬性。 (繼承來源 BindableObject) |
Bounds |
取得項目的界限。 (繼承來源 VisualElement) |
CascadeInputTransparent |
取得或設定值,這個值控制子項目在透明度為 |
Children |
取得方格的子項目集合。 |
class |
排列資料列和資料行中檢視的配置。 (繼承來源 NavigableElement) |
ClassId |
取得或設定值,用來識別語意類似項目的集合。 (繼承來源 Element) |
Clip |
排列資料列和資料行中檢視的配置。 (繼承來源 VisualElement) |
ColumnDefinitions |
提供繫結屬性的介面,該介面取得或設定控制 Grid 中資料行配置的 ColumnDefinition 物件已排序集合。 |
ColumnSpacing |
提供繫結屬性的介面,該介面取得或設定方格中資料行之間的距離。 |
DisableLayout |
供 Xamarin.Forms 平台內部使用。 (繼承來源 VisualElement) |
Dispatcher |
排列資料列和資料行中檢視的配置。 (繼承來源 BindableObject) |
EffectControlProvider |
供 Xamarin.Forms 平台內部使用。 (繼承來源 Element) |
Effects |
套用至此項目的效果清單。 (繼承來源 Element) |
FlowDirection |
取得或設定配置流程方向。 (繼承來源 VisualElement) |
GestureController |
取得檢視的軌跡控制器。 (繼承來源 View) |
GestureRecognizers |
與此檢視建立關聯的筆勢辨識器集合。 (繼承來源 View) |
Height |
取得此項目的目前呈現高度。 這是唯讀的可繫結屬性。 (繼承來源 VisualElement) |
HeightRequest |
取得或設定此項目所需的高度覆寫項。 (繼承來源 VisualElement) |
HorizontalOptions |
取得或設定 LayoutOptions,定義如何在配置循環配置項目。 這是可繫結屬性。 (繼承來源 View) |
Id |
取得值,可用來在應用程式執行期間唯一識別項目。 (繼承來源 Element) |
InputTransparent |
取得或設定值,這個值指出是否應該在使用者互動週期中包含此項目。 這是可繫結屬性。 (繼承來源 VisualElement) |
IsClippedToBounds |
取得或設定值,這個值決定 Layout 是否應該將其子系裁剪到其界限。 (繼承來源 Layout) |
IsEnabled |
取得或設定值,這個值指出使用者介面中是否已啟用此項目。 這是可繫結屬性。 (繼承來源 VisualElement) |
IsFocused |
取得值,這個值指出此項目目前是否為焦點。 這是可繫結屬性。 (繼承來源 VisualElement) |
IsInNativeLayout |
供 Xamarin.Forms 平台內部使用。 (繼承來源 VisualElement) |
IsNativeStateConsistent |
供 Xamarin.Forms 平台內部使用。 (繼承來源 VisualElement) |
IsPlatformEnabled |
供 Xamarin.Forms 平台內部使用。 (繼承來源 VisualElement) |
IsTabStop |
取得或設定值,這個值表示此元素是否包含於索引標籤巡覽。 這是可繫結屬性。 (繼承來源 VisualElement) |
IsVisible |
取得或設定值,這個值會決定此項目是否應成為視覺化樹狀結構的一部分。 這是可繫結屬性。 (繼承來源 VisualElement) |
LogicalChildren |
供 Xamarin.Forms 平台內部使用。 (繼承來源 Element) |
Margin |
取得或設定檢視的邊界。 (繼承來源 View) |
MinimumHeightRequest |
取得或設定值,這個值會覆寫項目在配置期間要求的最小高度。 (繼承來源 VisualElement) |
MinimumWidthRequest |
取得或設定值,這個值會覆寫項目在配置期間要求的最小寬度。 (繼承來源 VisualElement) |
Navigation |
排列資料列和資料行中檢視的配置。 (繼承來源 NavigableElement) |
NavigationProxy |
排列資料列和資料行中檢視的配置。 (繼承來源 NavigableElement) |
Opacity |
取得或設定套用至項目 (呈現時) 的不透明度值。 這是可繫結屬性。 (繼承來源 VisualElement) |
Padding |
取得或設定 Layout 的內部填補。 (繼承來源 Layout) |
Parent |
取得或設定項目的父項目。 (繼承來源 Element) |
ParentView |
已過時。
取得即此項目最接近上階的項目,而此項目是 VisualElement。 (繼承來源 Element) |
Platform |
已過時。
排列資料列和資料行中檢視的配置。 (繼承來源 Element) |
RealParent |
供 Xamarin.Forms 平台內部使用。 (繼承來源 Element) |
Resources |
取得或設定本機資源字典。 (繼承來源 VisualElement) |
Rotation |
取得或設定呈現元素時繞著 Z 軸 (仿射旋轉) 的旋轉 (度)。 (繼承來源 VisualElement) |
RotationX |
取得或設定呈現元素時繞著 X 軸 (透視旋轉) 的旋轉 (度)。 (繼承來源 VisualElement) |
RotationY |
取得或設定呈現元素時繞著 Y 軸 (透視旋轉) 的旋轉 (度)。 (繼承來源 VisualElement) |
RowDefinitions |
提供繫結屬性的介面,該介面取得或設定控制每個資料列高度的 RowDefinition 物件集合。 |
RowSpacing |
取得或設定方格中資料列之間的剩餘空間數量。 這是可繫結屬性。 |
Scale |
取得或設定套用至項目的縮放比例。 (繼承來源 VisualElement) |
ScaleX |
取得或設定要套用至 X 方向的小數位數值。 (繼承來源 VisualElement) |
ScaleY |
取得或設定要套用至 Y 方向的小數位數值。 (繼承來源 VisualElement) |
Style |
排列資料列和資料行中檢視的配置。 (繼承來源 NavigableElement) |
StyleClass |
排列資料列和資料行中檢視的配置。 (繼承來源 NavigableElement) |
StyleId |
取得或設定使用者定義值來唯一識別項目。 (繼承來源 Element) |
TabIndex |
排列資料列和資料行中檢視的配置。 (繼承來源 VisualElement) |
TranslationX |
取得或設定項目的 X 轉譯差異。 (繼承來源 VisualElement) |
TranslationY |
取得或設定項目的 Y 轉譯差異。 (繼承來源 VisualElement) |
Triggers |
取得與此項目建立關聯的觸發程序清單。 這是可繫結屬性。 (繼承來源 VisualElement) |
VerticalOptions |
取得或設定 LayoutOptions,定義如何在配置循環配置項目。 這是可繫結屬性。 (繼承來源 View) |
Visual |
排列資料列和資料行中檢視的配置。 (繼承來源 VisualElement) |
Width |
取得此項目的目前呈現寬度。 這是唯讀的可繫結屬性。 (繼承來源 VisualElement) |
WidthRequest |
取得或設定此項目所需的寬度覆寫項。 (繼承來源 VisualElement) |
X |
取得此項目的目前 X 位置。 這是唯讀的可繫結屬性。 (繼承來源 VisualElement) |
Y |
取得此項目的目前 Y 位置。 這是唯讀的可繫結屬性。 (繼承來源 VisualElement) |
方法
事件
BatchCommitted |
供 Xamarin.Forms 平台內部使用。 (繼承來源 VisualElement) |
BindingContextChanged |
每當 BindingContext 屬性變更時引發。 (繼承來源 BindableObject) |
ChildAdded |
只要將子項目新增至項目時就發生。 (繼承來源 Element) |
ChildRemoved |
只要從項目移除子項目時就發生。 (繼承來源 Element) |
ChildrenReordered |
在 VisualElement 的子系已重新排序時發生。 (繼承來源 VisualElement) |
DescendantAdded |
只要將子項目新增至項目樹狀子目錄時即發生。 (繼承來源 Element) |
DescendantRemoved |
只要從項目樹狀子目錄移除子項目時即發生。 (繼承來源 Element) |
FocusChangeRequested |
供 Xamarin.Forms 平台內部使用。 (繼承來源 VisualElement) |
Focused |
在項目取得焦點時發生。 (繼承來源 VisualElement) |
LayoutChanged |
如果任何子項目的 Bounds 已變更,則會在配置週期結束時發生。 (繼承來源 Layout) |
MeasureInvalidated |
視覺項目配置失效時所引發的事件。 (繼承來源 VisualElement) |
PlatformSet |
已過時。
排列資料列和資料行中檢視的配置。 (繼承來源 Element) |
PropertyChanged |
在屬性變更時引發。 (繼承來源 BindableObject) |
PropertyChanging |
在屬性即將變更時引發。 (繼承來源 BindableObject) |
SizeChanged |
當這個項目的 Width 或 Height 屬性變更值時發生。 (繼承來源 VisualElement) |
Unfocused |
在項目失去焦點時發生。 (繼承來源 VisualElement) |
明確介面實作
IDynamicResourceHandler.SetDynamicResource(BindableProperty, String) |
供 Xamarin.Forms 平台內部使用。 (繼承來源 BindableObject) |
IElementController.SetValueFromRenderer(BindableProperty, Object) |
供 Xamarin.Forms 平台內部使用。 (繼承來源 Element) |
IGestureController.CompositeGestureRecognizers |
供 Xamarin.Forms 平台內部使用。 (繼承來源 View) |
INameScope.RegisterName(String, Object) |
僅供內部使用。 (繼承來源 Element) |
IVisualElementController.EffectiveFlowDirection |
取得平台上項目的有效視覺流程方向,並將地區設定和邏輯流程設定納入考量。 (繼承來源 VisualElement) |
IVisualElementController.InvalidateMeasure(InvalidationTrigger) |
此方法供內部使用。 (繼承來源 VisualElement) |