Xamarin.Forms 命名空間

跨平台且原生支援的 UI 工具組。

類別

AbsoluteLayout

將子項目放在絕對位置。

Accelerator

代表 MenuItem 的快速鍵。

AcceleratorTypeConverter

XAML 剖析器將字串轉換成 Accelerator 物件所使用的類別。

ActivityIndicator

用來指出正在進行某個作業的視覺控制項。

AdaptiveTrigger
Animation

封裝動畫,這是在使用者可察覺期間內修改屬性的函式集合。

AnimationExtensions

IAnimatable 物件的擴充方法。

Application

代表跨平台行動應用程式的類別。

AppLinkEntry

應用程式連結搜尋索引中的深層應用程式連結。

AppThemeChangedEventArgs
AutomationProperties

同時包含提供給協助工具服務的縮寫及詳細 UI 資訊。

BackButtonBehavior

指定與殼層應用程式中 [返回] 按鈕相關聯行為的 BindableObject

BackButtonPressedEventArgs

僅供內部使用。 包含按 [上一頁] 按鈕時所引發的事件引數。

BaseMenuItem

功能表項目的基底類別。

BaseShellItem

NavigableElementShellGroupItemShellContent 的基底類別。

BaseSwipeEventArgs
Behavior

可回應任意條件和事件之通用使用者定義行為的基底類別。

Behavior<T>

可回應任意條件和事件通用使用者定義行為的基底泛型類別。

BindableLayout

指定允許 Layout<T> 處理資料繫結 IEnumerable 之附加屬性的類別。

BindableObject

提供一個機制,應用程式開發人員可以利用此機制,透過啟用驗證、類型強制型轉和事件系統,將某個物件中的資料變更傳播到另一個物件。 BindableProperty.

BindableObjectExtensions

包含 BindableObject 的便利擴充方法。

BindableProperty

BindableProperty 是在 BindableObject 上允許繫結的屬性備份存放區。

BindablePropertyConverter

可繫結屬性的 TypeConverter

BindablePropertyKey

BindableProperty 的祕密金鑰,以受限制的寫入權限來實作 BindableProperty。

Binding

單一 1:1 不可變的資料繫結。

BindingBase

提供 BindingMode 和格式化選項的抽象類別。

BindingCondition

此類別代表與任意繫結目標的值比較。

BindingTypeConverter

從字串轉換成 Binding 物件的類型轉換器。

BoundsConstraint

RelativeLayout 所使用的界限配置條件約束。

BoundsTypeConverter

將字串轉換成 Rectangle 以與 AbsoluteLayout 搭配使用的 TypeConverter

BoxView

用來繪製彩色實心矩形的 View

Brush
BrushTypeConverter
BrushTypeConverter.GradientBrushParser
Button

按鈕 View,它會回應觸控事件。

Button.ButtonContentLayout

控制 Button 中文字與映像的相對位置及其間距。

Button.ButtonContentTypeConverter

XAML 剖析器將字串轉換成 Button.ButtonContentLayout 物件所使用的類別。

CarouselLayoutTypeConverter
CarouselPage

使用者可以從一邊撥動到另一邊的頁面,以便顯示內容頁面,例如組件庫。

CarouselView

一個 ItemsView,其可捲動子檢視已「貼齊」到定位。

Cell

提供所有 Xamarin.Forms 儲存格的基底類別和功能。 儲存格都是要新增至 ListViewTableView 的項目。

CheckBox
CheckedChangedEventArgs

CheckBoxCheckedChanged 事件的事件引數。

ChildGestureRecognizer

用作另一個辨識器子系的手勢辨識器。

ClickedEventArgs

點選事件的事件引數。

ClickGestureRecognizer

點擊筆勢的辨識器。

CollectionView

代表項目集合的 SelectableItemsView

ColorTypeConverter

從字串轉換成 ColorTypeConverter

ColumnDefinition

IDefinition,定義 Grid 中資料行的屬性。

ColumnDefinitionCollection

ColumnDefinitionDefinitionCollection<T>

ColumnDefinitionCollectionTypeConverter
Command

定義可包裝 ActionICommand 實作。

Command<T>

定義 ICommand 實作包裝一般動作<T>。

CompareStateTrigger
CompressedLayout

包含省略備援轉譯器的附加屬性。

Condition

條件的基底類別。

Configuration<TPlatform,TElement>

用於擷取項目平台特定版本的公用程式類別。

Constraint

RelativeLayout 所使用的配置條件約束。

ConstraintExpression

定義條件約束關聯性。

ConstraintTypeConverter

從字串轉換成 ConstraintTypeConverter

ContentPage

顯示單一檢視的 Page

ContentPresenter

樣板化檢視的配置管理員。

ContentPropertyAttribute

指出為預設內容屬性的類型屬性。

ContentView

包含單一子項目的項目。

ControlTemplate

指定一組控制項樣式和效果的範本。

CornerRadiusTypeConverter

可將字串轉換為 CornerRadiusTypeConverter 子類別。

CurrentItemChangedEventArgs
DataPackage
DataPackagePropertySet
DataPackagePropertySetView
DataPackageView
DataTemplate

多個繫結的範本,ListViewMultiPage<T> 經常使用。

DataTemplateSelector

依資料類型和容器選取 DataTemplate 物件。

DataTrigger

代表任意繫結上條件的類別,以及滿足條件時會套用的 Setter 物件清單。

DateChangedEventArgs

DateSelected 事件的事件引數。

DatePicker

允許選擇日期的 View

DefinitionCollection<T>

IDefinition 所參數化的集合。 ColumnDefinitionCollectionRowDefinitionCollection 的基底類別。

DependencyAttribute

表示指定類型會提供所需介面的具體實作屬性。

DependencyService

提供 Get<T>(DependencyFetchTarget) Factory 方法以擷取指定類型 T 平台特定實作的靜態類別。

DesignMode

開發人員可用來判斷應用程式是否正在預覽程式中執行的靜態類別。

Device

與目前裝置/平台互動的公用程式類別。

Device.Styles

將裝置特定樣式公開為靜態欄位的類別。

DeviceStateTrigger
DoubleCollection
DoubleCollectionConverter
DragEventArgs
DragGestureRecognizer
DragStartingEventArgs
DropCompletedEventArgs
DropEventArgs
DropGestureRecognizer
Easing

以非線性方式修改值的函式,通常用於動畫。

EasingTypeConverter
Editor

可以編輯多行文字的控制項。

Effect

可在執行階段新增至項目的樣式和屬性集合。

EffectiveFlowDirectionExtensions

用於了解流程方向及是否已明確設定的擴充方法。

EffectiveVisualExtensions
Element

提供所有 Xamarin.Forms 階層式項目的基底類別。 此類別包含代表 Xamarin.Forms 階層中項目所需的所有方法和屬性。

ElementEventArgs

提供屬於單一 Element 事件的資料。

ElementTemplate

DataTemplateControlTemplate 類別的基底類別。

EmbeddedFont
Entry

可以編輯單行文字的控制項。

EntryCell

具有標籤和一行文字項目欄位的 Cell

EventTrigger

代表觸發事件及引發事件時要叫用之 TriggerAction 物件清單的類別。

ExportEffectAttribute

使用唯一識別碼來識別 Effect 的屬性,該唯一識別碼可與 Resolve(String) 一起用於找出效果。

ExportFontAttribute
FileImageSource

從檔案讀取影像的 ImageSource

FileImageSourceConverter

可轉換成 FileImageSourceTypeConverter

FlexAlignContentTypeConverter

將子內容資料列對齊樣式的字串表示轉換成 FlexAlignContent

FlexAlignItemsTypeConverter

將子內容對齊樣式的字串表示轉換成 FlexAlignItems

FlexAlignSelfTypeConverter

將對齊覆寫的字串表示轉換成 FlexAlignSelf

FlexBasis.FlexBasisTypeConverter

將 flex 基礎的字串表示轉換成 FlexBasis

FlexDirectionTypeConverter

將資料列或資料行彈性配置方向的字串表示轉換成 FlexDirection

FlexJustifyTypeConverter

將子項目對齊樣式的字串表示轉換成 FlexJustify

FlexLayout

Flexbox 類似的配置,將子項目配置到子項目的可選擇性包裝資料列或資料行。

FlexWrapTypeConverter

將文繞圖樣式的字串表示轉換成 FlexWrap

FlowDirectionConverter

將流程方向的字串表示轉換為 FlowDirection

FlyoutItem

具備 Tab 物件集合的 ShellItem

FlyoutPage
FocusEventArgs

VisualElementFocusedUnfocused 事件的事件引數。

FontAttributesConverter

將字串轉換成 FontAttributes 物件。

FontFile
FontImageSource
FontSizeConverter

將字串轉換成字型大小。

FontTypeConverter

TypeConverter,可從字串轉換為 Font

FormattedString

代表將屬性套用至部分組件的文字。

Frame

包含單一子系的項目,內含一些框架選項。

GestureElement

能夠回應手勢的元素。

GestureRecognizer

所有筆勢辨識器的基底類別。

GradientBrush
GradientStop
GradientStopCollection
Grid

排列資料列和資料行中檢視的配置。

GridItemsLayout
GridLengthTypeConverter

從字串轉換成 GridLengthTypeConverter

GroupableItemsView
HandlerAttribute

此抽象屬性的子類別會指定適用於 Xamarin.Forms 抽象控制項的平台特定轉譯器。

HtmlWebViewSource

與 HTML 格式字串繫結的 WebViewSource。

Image

包含影像的 View

ImageButton
ImageCell

具有映像的 TextCell

ImageSource

其實作項從檔案或 Web 載入影像的抽象類別。

ImageSourceConverter

接受影像檔位置的字串表示並從指定資源傳回 ImageSource 的類別。

IndicatorView
InputView

可接受鍵盤輸入之檢視的基底類別。

InvalidNavigationException
ItemsLayout
ItemsLayoutTypeConverter
ItemsView

提供為檢視 (包含樣本化項目清單) 之基本類別的 View

ItemsView<TVisual>

包含樣板化項目清單的檢視基底類別。

ItemsViewScrolledEventArgs
ItemTappedEventArgs

ItemTapped 事件的事件引數。

ItemVisibilityEventArgs

已在 ListView 中變更項目可見度時的事件引數。

Keyboard

特殊化鍵盤的預設鍵盤和基底類別,例如電話號碼、電子郵件和 URL 的鍵盤和基底類別。

KeyboardTypeConverter

將字串轉換成 KeyboardTypeConverter

Label

可顯示文字的 View

Layout

為所有 Layout 元素提供基底類別。 請使用 Layout 元素在 Xamarin.Forms 應用程式中放置子項目並調整其大小。

Layout<T>

具有未定義行為與多個子系的配置基底實作。

LayoutOptionsConverter

類別,採用 LayoutOptions 的字串表示並傳回對應的 LayoutOptions

LinearGradientBrush
LinearItemsLayout
ListProxyChangedEventArgs
ListStringTypeConverter

類型轉換器,用於將格式正確的字串清單轉換成清單。

ListView

將資料集合顯示為垂直清單的 ItemsView<TVisual>

MarshalingObservableCollection
MasterDetailPage

管理兩個資訊窗格的 Page:顯示高階資料的主版頁面,以及詳細資料頁面,其顯示主版頁面相關資訊的低階詳細資料。

Menu

代表支援它們的平台應用程式功能表。

MenuItem

呈現功能表項目並將其與命令建立關聯的類別。

MenuItemCollection

相關 MenuItem 物件的群組。

MessagingCenter

將訂閱者的回呼與特定訊息名稱建立關聯。

ModalEventArgs

ModalPushedEventArgsModalPushingEventArgsModalPoppedEventArgsModalPoppingEventArgs 的基底類別。

ModalPoppedEventArgs

強制回應視窗從巡覽堆疊取出時所引發事件的引數。

ModalPoppingEventArgs

強制回應視窗從巡覽堆疊取出時所引發事件的引數。

ModalPushedEventArgs

將強制回應視窗推送至巡覽堆疊時所引發事件的引數。

ModalPushingEventArgs

將強制回應視窗推送至巡覽堆疊時所引發事件的引數。

MultiBinding
MultiPage<T>

可繫結及範本化的基底類別,適用於包含多個子頁面的頁面。

MultiTrigger

此類別代表屬性和繫結條件的清單,以及清單中所有條件皆已滿足時所套用的 Setter 清單。

NamedPlatformColor
NameScopeExtensions

會新增強型別 FindByName 方法的 Element 擴充方法。

NavigableElement

支援瀏覽的 Element

NavigationEventArgs

NavigationPage 巡覽事件的 EventArgs。

NavigationPage

Page,用於管理一疊其他頁面的巡覽和使用者體驗。

On

指定平台上的值時,用於 XAML 中 OnPlatform 標記的類別。

OnIdiom<T>

提供目前目標慣用語的 T 慣用語特定值。

OnPlatform<T>

提供目前 OS 的 T 平台特定實作。

OpenGLView

顯示 OpenGL 內容的 View

OpenSwipeEventArgs
OrientationStateTrigger
Page

佔滿整個螢幕的 VisualElement

PanGestureRecognizer

筆勢識別器,用於移動瀏覽大於其父代檢視的內容。

PanUpdatedEventArgs

當移動瀏覽筆勢更新時所引發的事件。

Picker

用於選擇清單中項目的 View 控制項。

PinchGestureRecognizer

捏合筆勢的辨識器。

PinchGestureUpdatedEventArgs

PinchUpdated 事件的事件引數。

PlatformEffect<TContainer,TControl>

平台特定效果類別的基底類別。

PointTypeConverter

從字串轉換為 PointTypeConverter

PoppedToRootEventArgs

NavigationPage 之 PoppedToRoot 巡覽事件的 EventArgs。

PositionChangedEventArgs
ProgressBar

顯示進度的 View 控制項。

PropertyChangingEventArgs

PropertyChangingEventHandler 委派的事件引數。

PropertyCondition

代表對包含封入 MultiTrigger 的控制項屬性所進行的值比較類別。

QueryPropertyAttribute
RadialGradientBrush
RadioButton
RadioButtonGroup
RectangleTypeConverter

將字串轉換成 RectangleTypeConverter

RectTypeConverter
ReferenceTypeConverter

供 Xamarin.Forms 平台內部使用。

RefreshView
RelativeBindingSource
RelativeLayout

使用 Constraint 來配置其子系的 Layout<T>

RenderWithAttribute

將檢視與轉譯器建立關聯。

ResolutionGroupNameAttribute

識別群組名稱的屬性,通常是公司名稱或反轉的公司 URL,且提供效果名稱的範圍。

ResourceDictionary

將識別碼字串對應至任意資源物件的 IDictionary。

ResourceDictionary.RDSourceTypeConverter

供 Xamarin.Forms 平台內部使用。

RouteFactory
Routing
RoutingEffect

平台獨立效果,它會包裝內部效果,這通常為平台特定。

RowDefinition

定義 Grid 中資料列屬性的 IDefinition

RowDefinitionCollection

RowDefinitionDefinitionCollection<T>

RowDefinitionCollectionTypeConverter
ScrolledEventArgs

視窗捲動時所引發事件的引數。

ScrollToRequestedEventArgs

要求捲動時所引發事件的引數。

ScrollToRequestEventArgs
ScrollView

如果其內容需要,能夠捲動的項目。

SearchBar

提供搜尋方塊的 View 控制項。

SearchHandler

ISearchHandlerController 的預設實作。

SelectableItemsView
SelectedItemChangedEventArgs

ItemSelected 事件的事件引數。

SelectedPositionChangedEventArgs

用於位置性捲動事件的事件引數。

SelectionChangedEventArgs
Setter

表示屬性至值的指派,通常是樣式或對觸發程序的回應。

SettersExtensions

定義 IList<Setter> 的擴充方法

Shell

可提供大部分應用程式需要的基本 UI 功能,讓您專注於應用程式核心工作負載的 Page

ShellAppearance
ShellContent

ShellSection 中包含的 ContentPage 相對應。

ShellGroupItem

具有 FlyoutDisplayOptionsBaseShellItemShellItemShellSection 的基底類別。

ShellItem

飛出視窗中的一或多個項目。 包含在 Shell 之內。

ShellNavigatedEventArgs

OnNavigated(ShellNavigatedEventArgs) 事件的引數。

ShellNavigatingDeferral
ShellNavigatingEventArgs

OnNavigating(ShellNavigatingEventArgs) 事件的引數。

ShellNavigationState

殼層應用程式中代表目前頁面或瀏覽目的地的 URI。

ShellSection

殼層應用程式中的分組內容,可透過底端索引標籤瀏覽。

SizeTypeConverter

可將字串轉換為 Size 物件的 TypeConverter

Slider

輸入線性值的 View 控制項。

SolidColorBrush
Span

代表 FormattedString 的區段。

StackLayout

Layout<T>,將子項目放在可為垂直或水平方向的單行中。

StateTrigger
StateTriggerBase
Stepper

輸入離散值 (受限於某範圍) 的 View 控制項。

StreamImageSource

Stream 載入影像的 ImageSource

StructuredItemsView
Style

包含完全或部分定義視覺項目類別外觀和行為的觸發程序、setter 和行為類別。

SwipeChangingEventArgs
SwipedEventArgs

撥動事件的引數。

SwipeEndedEventArgs
SwipeGestureRecognizer

撥動手勢的辨識器。

SwipeItem
SwipeItems
SwipeItemView
SwipeStartedEventArgs
SwipeView
Switch

提供切換值的 View 控制項。

SwitchCell

具有標籤與開啟/關閉參數的 Cell

Tab
TabBar
TabbedPage

MultiPage<T>,顯示畫面頂端的索引標籤陣列,各會將內容載入至畫面。

TabIndexExtensions

支援反覆項目與索引標籤索引擷取的擴充方法。

TableRoot

包含資料表區段或整個資料表的 TableSection

TableSection

TableView 的邏輯和可見區段。

TableSectionBase

定義資料表區段的抽象基底類別。

TableSectionBase<T>

資料表區段,包含類型為 T 並由 Xamarin.Forms 轉譯的執行個體。

TableView

保留 Cell 項目資料列的 View

TapGestureRecognizer

提供點選筆勢識別和事件。

TappedEventArgs

ItemTapped 事件的引數。

TemplateBinding

將範本屬性繫結至 ControlTemplate 所屬檢視的父系。

TemplatedPage

使用控制項範本和 ContentPage 的基底類別,顯示全螢幕內容的頁面。

TemplatedView

使用控制項範本和 ContentView 的基底類別,顯示內容的檢視。

TemplateExtensions

DataTemplate 的延伸模組類別,提供以字串為基礎的捷徑方法來定義繫結。

TextAlignmentConverter

將文字對齊方式的字串表示轉換成 TextAlignment

TextCell

具有主要 TextDetail 文字的 Cell

TextChangedEventArgs

TextChanged 事件的事件引數。 提供舊和新的文字值。

TextDecorationConverter

可以在字串與 TextDecorations 物件之間轉換的 TypeConverter 子類別。

ThicknessTypeConverter

從字串轉換為 ThicknessTypeConverter

TimePicker

提供時間挑選的 View 控制項。

ToggledEventArgs

ToggledOnChanged 事件的事件引數。

ToolbarItem

位於工具列中,或是顯示於 Page 上的項目。

Trigger

代表屬性條件以及符合條件時所執行動作的類別。

TriggerAction

符合觸發條件時所執行的使用者定義動作基底類別。

TriggerAction<T>

符合觸發條件時所執行使用者定義動作的泛型基底類別。

TriggerBase

包含條件以及符合條件時所要執行的動作清單類別的基底類別。

TypeConverter

其子類別可將值轉換成不同類型的抽象基底類別。

TypeConverterAttribute

指定其目標所使用的 TypeConverter 類型屬性。

TypeTypeConverter

類別,採用 Type 的字串表示並傳回對應的 Type

UnsolvableConstraintsException

指出所指定 Constraint 無法同時符合的例外狀況。

UriImageSource

從 URI 載入映像的 ImageSource,並快取結果。

UriTypeConverter

從字串或 Uri 轉換為 UriTypeConverter

UrlWebViewSource

繫結至 URL 的 WebViewSource。

ValueChangedEventArgs

ValueChanged 事件的事件引數。 會提供舊值和新值兩者。

View

用來在螢幕上放置配置和控制項的視覺效果項目。

ViewCell

包含開發人員定義 ViewCell

ViewExtensions

View 的擴充方法,提供可用來建立動畫的調整、旋轉和配置功能。

VisualAttribute
VisualElement

佔用畫面區域的 Element 具有視覺外觀,而且可以取得觸控輸入。

VisualElement.FocusRequestArgs

包含 FocusChangeRequested 事件的事件引數。

VisualElement.VisibilityConverter

將視覺效果項目可見性的字串表示轉換成代表項目可見性的布林值。

VisualMarker

包含由 Xamarin Forms 小組實作的 IVisual 類型,由視覺效果系統使用的預設 IVisual 類型。

VisualMarker.DefaultVisual

用於於指定讓 View 使用預設轉譯器轉譯的 IVisual 標記類型。

VisualMarker.MaterialVisual

用於於指定讓 View 使用材質轉譯器轉譯的 IVisual 標記類型。

VisualState

包含具名的視覺狀態,它會將一份 setter 清單套用至項目,以便讓狀態與外觀相互關聯。

VisualStateGroup

包含可以套用至視覺項目的相關視覺狀態清單。

VisualStateGroupList

包含應用程式的視覺狀態群組清單。

VisualStateManager

管理狀態之間的視覺狀態群組和轉換控制項。

VisualStateManager.CommonStates
VisualTypeConverter

可將字串轉換為 IVisual 物件的 TypeConverter

WeakEventManager
WebNavigatedEventArgs

包含在 Web 巡覽完成之後所引發事件引數的類別。

WebNavigatingEventArgs

此類別包含 Web 巡覽開始後所引發事件的引數。

WebNavigationEventArgs

包含 Web 巡覽啟動時事件引數的 TClass。

WebView

呈現 HTML 內容的 View

WebViewSource

其子類別會提供資料給 WebView 的抽象類別。

WebViewSourceTypeConverter

將字串轉換成 UrlWebViewSourceTypeConverter

XmlnsDefinitionAttribute

指定 XML 命名空間與 CLR 命名空間間之對應的屬性。

XmlnsPrefixAttribute

結構

Color

類別,代表色彩,並將其公開為 RGBA 和 HSL 值。

CornerRadius

包含用於指定圓角半徑的方法與屬性。

FlexBasis

表示絕對或相對項目大小的結構。

Font

用來顯示文字的字型。

GridLength

用來定義格線 ColumnDefinition 和 RowDefinition 的大小 (寬度/高度)。

LayoutOptions

結構,其靜態成員會定義各種對齊和展開選項。

Point

將 2-D 點定義為一對 double 的結構。

Rect
Rectangle

使用雙精度浮點數定義矩形的結構。

Region

代表 Xamarin.Forms UI 中的視覺效果區域。

Size

將高度和寬度定義成一組雙精度浮點數的結構。

SizeRequest

定義最大和最小 Size 的結構。

Thickness

使用雙精確度浮點數定義 Rectangle 邊緣周遭粗細的結構。

Vec2

定義 X 和 Y 雙精度浮點數值的結構。

介面

AbsoluteLayout.IAbsoluteList<T>

具有多載可將項目新增至絕對配置的清單介面。

Grid.IGridList<T>

具有多載可將項目新增至方格的清單介面。

IAnimatable

定義可以動畫顯示的項目介面。

IAppearanceObserver
IAppIndexingProvider

此介面供平台轉譯器內部使用。

IApplicationController

供平台轉譯器內部使用。

IAppLinkEntry

代表應用程式連結搜尋索引中深層應用程式連結的介面。

IAppLinks

此介面定義登錄及取消登錄應用程式內容連結時所需的方法。

IBorderElement
IButtonController

供平台轉譯器內部使用。

ICellController

供平台轉譯器內部使用。

IConfigElement<T>

此介面供平台轉譯器內部使用。

IConfigPlatform

識別平台特定效果目標平台的標記類別基底介面。

IDecorableTextElement

支援 TextDecorations 之類別的介面。

IDefinition

定義 RowDefinitionColumnDefinition 類型的介面。

IDispatcher
IDispatcherProvider
IEditorController

供平台轉譯器內部使用。

IEffectControlProvider

在轉譯器中實作時,註冊項目上的平台特定效果。

IElementConfiguration<TElement>

傳回 Xamarin.Forms 類型平台特定執行個體的介面。

IElementController

供平台轉譯器內部使用。

IEmbeddedFontLoader
IEntryCellController

供平台轉譯器內部使用。

IEntryController

供平台轉譯器內部使用。

IExtendedTypeConverter

類型轉換器的基底類別。

IFlyoutBehaviorObserver
IFlyoutPageController
IGestureRecognizer

所有筆勢辨識器都必須實作的基底介面。

IGestureRecognizers
IGridController

供平台轉譯器內部使用。

IImageController

供平台轉譯器內部使用。

IImageElement
IItemsLayout
IItemsView<T>

這個介面供平台轉譯器內部使用。

IItemViewController

供平台轉譯器內部使用。

ILayout

指出配置行為並公開 LayoutChanged 事件的介面。

ILayoutController

供平台轉譯器內部使用。

IListProxy

此介面供平台轉譯器內部使用。

IListViewController

供平台轉譯器內部使用。

IMasterDetailPageController

供平台轉譯器內部使用。

IMenuItemController

供平台轉譯器內部使用。

IMessagingCenter

遵守訊息合約,讓檢視模型與其他元件通訊。

IMultiPageController<T>

多頁控制器的基底類別。

IMultiValueConverter
INativeElementView

包含傳回 Xamarin.Forms 項目平台特定原生檢視唯讀屬性的介面。

INavigation

使平台特定巡覽抽象化的介面。

INavigationPageController

供平台轉譯器內部使用。

IOpenGlViewController

供平台轉譯器內部使用。

IPageContainer<T>

定義 Page 的容器並公開 CurrentPage 屬性介面。

IPageController

供平台轉譯器內部使用。

IPanGestureController

供平台轉譯器內部使用。

IPinchGestureController

供平台轉譯器內部使用。

IPlatformElementConfiguration<TPlatform,TElement>

用於傳回平台特定組態項目的標記介面。

IQueryAttributable
IRegisterable

內部使用的標記介面,指出可向內部註冊機構註冊的類型。

IScrollViewController

供平台轉譯器內部使用。

ISearchBarController

供平台轉譯器內部使用。

ISearchHandlerController

定義介面以用於控制搜尋處理常式的行為。

IShellAppearanceElement

定義殼層應用程式中索引標籤列色彩的介面。

IShellContentController

擴充 IElementController 以定義適用於殼層應用程式中內容頁面的方法。

IShellContentInsetObserver

定義用於觀察插入維度變更的介面。

IShellController

擴充殼層應用程式的 IPageController

IShellItemController

擴充 IElementController 以和殼層應用程式的組件搭配使用。

IShellSectionController

使用殼層應用程式的特定方法擴充 IElementController

ISliderController
IStreamImageSource

此介面供平台轉譯器內部使用。

ISwipeGestureController

供平台轉譯器內部使用。

ISwipeItem
ISwipeViewController
ITableModel

此介面供平台轉譯器內部使用。

ITableViewController

供平台轉譯器內部使用。

ITabStopElement
ITemplatedItemsList<TItem>

此介面供平台轉譯器內部使用。

ITemplatedItemsListScrollToRequestedEventArgs

此介面供平台轉譯器內部使用。

ITemplatedItemsView<TItem>

此介面供平台轉譯器內部使用。

IValueConverter

定義在值與類型之間進行雙向轉換的方法介面。

IViewContainer<T>

可新增至容器的項目類型。

IViewController

這個介面供平台轉譯器內部使用。

IVisual
IVisualElementController

供平台轉譯器內部使用。

IWebViewController

供平台轉譯器內部使用。

IWebViewDelegate

這個介面供平台轉譯器內部使用。

RelativeLayout.IRelativeList<T>

RelativeLayout 所使用的 ViewIList<T>

列舉

AbsoluteLayoutFlags

這些旗標用來修改配置界限在 AbsoluteLayout 中的解譯方式。

AccessKeyPlacement

列舉相對於便捷鍵所描述的控制項便捷鍵位置。

Aspect

定義如何顯示影像。

BindingMode

繫結傳播的變更方向。

Button.ButtonContentLayout.ImagePosition

列舉按鈕內的影像位置。

ButtonsMask

旗標值,代表滑鼠按鈕。

ClearButtonVisibility
ConstraintType

列舉,指定條件約束為常數、相對於檢視,或是相對於其父代。

DataPackageOperation
DependencyFetchTarget

指定 Get<T>(DependencyFetchTarget) 應該傳回全域或新執行個體參考的列舉。

EditorAutoSizeOption

列舉值,該值控制當使用者輸入時,編輯器是否會變更大小以容納輸入。

EffectiveFlowDirection

列舉旗標,表示是否已明確設定配置方向,以及配置方向是否為從右至左。

FlexAlignContent

列舉值,可控制如何對齊子項目的多個資料列或資料行。

FlexAlignItems

列舉值,這些值會控制子項目的對齊方式。

FlexAlignSelf

列舉值,控制子項目如何以及是否覆寫其父代所套用的對齊屬性。

FlexDirection

列舉值,指定資料列和資料行的彈性配置方向,相對於裝置地區設定的方向。

FlexJustify

列舉值,這些值描述當子項目周圍有額外空間時,如何對齊子項目。

FlexPosition

列舉值,控制指定子項目位置時配置座標的解譯方式。

FlexWrap

列舉值,這些值會控制是否及如何在 FlexLayout 中包裝項目。

FlowDirection

列舉值,控制檢視的配置方向。

FlyoutBehavior

列舉殼層應用程式中根功能表的模式。

FlyoutDisplayOptions

列舉殼層應用程式中飛出視窗的顯示模式。

FlyoutHeaderBehavior

列舉後面為 FlyoutHeader 的模式。

FlyoutLayoutBehavior
FontAttributes

列舉描述字型樣式的值。

GestureState

指定筆勢各種狀態的列舉。

GestureStatus

列舉可能的筆勢狀態。

GridUnitType

列舉值,這些值會控制如何解譯 Value 屬性以取得資料列和資料行定義。

IndicatorShape
InitializationFlags
ItemSizingStrategy
ItemsLayoutOrientation
ItemsUpdatingScrollMode
KeyboardFlags

列舉鍵盤選項旗標,這些旗標控制大小寫、拼字檢查和建議行為。

LayoutAlignment

代表 LayoutAlignment 的值。

LineBreakMode

指定各種分行選項的列舉。

ListViewCachingStrategy

列舉 ListView 的快取策略。

ListViewSelectionMode

列舉值,控制是否可以選取或無法選取清單檢視中的項目。

MasterBehavior

列舉值,控制主從階層頁面中顯示詳細資料內容的方式。

MeasureFlags

列舉值,指出配置視窗時是否包含邊界。

NamedSize

代表預先定義的字型大小。

OpenSwipeItem
OSAppTheme
PresentationMode
RelativeBindingSourceMode
ReturnType

列舉傳回按鈕樣式。

ScrollBarVisibility

列舉捲軸為可見的條件。

ScrollMode
ScrollOrientation

指定垂直或水平捲動方向的列舉。

ScrollToMode

列舉值,這些值描述如何提出捲動要求。

ScrollToPosition

列舉值,描述捲動要求。

SearchBoxVisibility
SelectionMode
SeparatorVisibility

列舉控制清單項目分隔符號可見度的值。

ShellNavigationSource

列舉殼層應用程式中巡覽事件的原因。

SnapPointsAlignment
SnapPointsType
StackOrientation

StackLayout 可以有的方向。

Stretch
SweepDirection
SwipeBehaviorOnInvoked
SwipeDirection

列舉撥動方向。

SwipeMode
TableIntent

TableIntent 會提示轉譯器要如何使用資料表。

TabsStyle

列舉索引標籤式頁面的索引標籤樣式。

TargetIdiom

指出 Xamarin.Forms 正在執行的裝置類型。

TargetPlatform

指出目前正在處理 OS Xamarin.Forms 類型。

TextAlignment

列舉值,這些值會控制文字對齊。

TextDecorations

標示列舉定義文字裝飾。

TextTransform
TextType
ToolbarItemOrder

指定 ToolbarItem 顯示在主要或次要工具列介面上的列舉。

ViewState

已取代。 請勿使用。

WebNavigationEvent

包含指出為何引發巡覽事件的值。

WebNavigationResult

列舉值,指出 Web 巡覽的結果。

委派

BindableProperty.BindingPropertyChangedDelegate

BindableProperty.PropertyChanged 的委派。

BindableProperty.BindingPropertyChangedDelegate<TPropertyType>

BindableProperty.PropertyChanged 的強型別委派。

BindableProperty.BindingPropertyChangingDelegate

BindableProperty.PropertyChanging 的委派。

BindableProperty.BindingPropertyChangingDelegate<TPropertyType>

BindableProperty.PropertyChanging 的強型別委派。

BindableProperty.CoerceValueDelegate

BindableProperty.CoerceValue 的委派。

BindableProperty.CoerceValueDelegate<TPropertyType>

BindableProperty.CoerceValue 的強型別委派。

BindableProperty.CreateDefaultValueDelegate

BindableProperty.DefaultValueCreator 的強型別委派。

BindableProperty.CreateDefaultValueDelegate<TDeclarer,TPropertyType>

BindableProperty.DefaultValueCreator 的委派。

BindableProperty.ValidateValueDelegate

BindableProperty.ValidateValue 的委派。

BindableProperty.ValidateValueDelegate<TPropertyType>

BindableProperty.ValidateValue 的強型別委派。

CollectionSynchronizationCallback

EnableCollectionSynchronization(IEnumerable, Object, CollectionSynchronizationCallback) 中回呼的委派。

PropertyChangingEventHandler

PropertyChanging 事件的委派。

備註

Xamarin.Forms is a cross-platform, natively-backed UI toolkit abstraction that allows developers to create user interfaces that can be shared across Android, iOS, and Windows Phone. Because the user interfaces use the native controls of the target platforms, they have the appearance and, importantly, the responsiveness of natively built apps.

Xamarin.Forms Solution Architecture

Cross-Platform Project

The user-experience of a Xamarin.Forms application is usually defined in a cross-platform shared project (either a Portable Class Library or a Shared Project) and combined with platform-specific projects that, at the least, initialize the native platform rendering (note the call to Forms.Init() in the platform code samples below) and, more generally, extend the user-experience and user-interface in platform-specific manners (for instance, by accessing platform-specific sensors or capabilities).

For example, the developer can create a cross-platform Xamarin.Forms Label and display it with the following code in the shared project:

public class App : Xamarin.Forms.Application
{
    public App ()
    {
        MainPage = new ContentPage
        {
            Content = new Label
                {
                    Text = "Welcome to Xamarin Forms!",
                    VerticalOptions = LayoutOptions.CenterAndExpand,
                    HorizontalOptions = LayoutOptions.CenterAndExpand,
                },
        };
    }
}

This code results in a centered label on the target platforms:

While more complicated layouts with more useful user interfaces are more typical, this example is useful for clearly illustrating the shared and platform-specific code that Xamarin.Forms uses to create and display the code on the target platforms. The code in the following discussion is created by Visual Studio in the target platform projects when the developer creates a new Xamarin.Forms project. In each case, a platform-specific Forms.Init() method is called to intitialize forms before any other method that depends on Xamarin.Forms is called.

iOS Platform Code

On the iOS platform, Visual Studio registers a subclass of the framework class Xamarin.Forms.Platform.iOS.FormsApplicationDelegate as the entry point of the application, and immediately makes a call to Xamarin.Forms.Forms.Init.

[Register("AppDelegate")]
public partial class AppDelegate : global::Xamarin.Forms.Platform.iOS.FormsApplicationDelegate
{
    public override bool FinishedLaunching(UIApplication app, NSDictionary options)
    {
        global::Xamarin.Forms.Forms.Init();
        LoadApplication(new App());

        return base.FinishedLaunching(app, options);
    }
}

Android Platform Code

The entry point on Android is a subclass of the framework class Xamarin.Forms.Platform.Android.FormsAppCompatActivity, and its OnCreate method must configure the tab bar and toolbars and call its base method before calling Forms.Init.

[Activity(Label = "HelloXamarinFormsWorld.Droid", Icon = "@drawable/icon", Theme = "@style/MyTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)]
public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity
{
    protected override void OnCreate(Bundle bundle)
    {
        TabLayoutResource = Resource.Layout.Tabbar;
        ToolbarResource = Resource.Layout.Toolbar;

        base.OnCreate(bundle);

        global::Xamarin.Forms.Forms.Init(this, bundle);

        LoadApplication(new App());
    }

    protected override void OnActivityResult(int requestCode, Result resultCode, Intent data)
    {
        base.OnActivityResult(requestCode, resultCode, data);
    }
}

UWP Code

The entry point for a Xamarin.Forms app on UWP is just the constructor for a Windows.UI.Xaml.Application in App.xaml.cs in the UWP platform project. However, the application lifecycle on UWP is such that the call to Forms.Init must take place inside the OnLaunched method, and is guarded against being run more than once. The necessary code is beyond the scope of this documentation, but the curious developer is encouraged to create a test Xamarin.Forms solution and study the code in the App.xaml.cs file for more details

Elements in Xamarin.Forms

Important types in the Xamarin.Forms namespace include Page, View, and Layout. Pages typically correspond with controller objects (Activities in the Android world, UIViewControllers in the iOS world), Views with controls or widgets, and Layouts arrange Views on other Views. These types are all derived from Element.

Model-View-ViewModel and Xamarin.Forms

Application developers use the Model-View-ViewModel (MVVM) pattern to create Xamarin.Forms apps that cleanly separate the concerns of data presentation and user interface from the concerns of data storage and manipulation. The Xamarin.Forms framework enables this by providing, among a few other related types, the BindableObject and BindableProperty classes. Objects that inherit from BindableObject can be bound to members of type BindableProperty on other objects.

A BindableObject maintains dictionary of BindableProperty names and an association with their corresponding binding contexts--simply the object on which the BindableProperty is defined and that the application developer has assigned to the BindingContext property--through a Binding. See BindableObject for more information.

另請參閱