Picker 类

定义

用于在列表中选取元素的 View

[Xamarin.Forms.RenderWith(typeof(Xamarin.Forms.Platform._PickerRenderer))]
public class Picker : Xamarin.Forms.View, Xamarin.Forms.IElementConfiguration<Xamarin.Forms.Picker>, Xamarin.Forms.Internals.IFontElement
type Picker = class
    inherit View
    interface IFontElement
    interface IElementConfiguration<Picker>
继承
属性
实现

注解

选取器的视觉表示形式类似于 Entry,但选取器控件将代替键盘显示。

以下示例演示如何创建选取器。

using System;
using System.Collections.Generic;
using Xamarin.Forms;

namespace FormsGallery
{
    class PickerDemoPage : ContentPage
    {
        // Dictionary to get Color from color name.
        Dictionary<string, Color> nameToColor = new Dictionary<string, Color>
        {
            { "Aqua", Color.Aqua }, { "Black", Color.Black },
            { "Blue", Color.Blue }, { "Fuchsia", Color.Fuchsia },
            { "Gray", Color.Gray }, { "Green", Color.Green },
            { "Lime", Color.Lime }, { "Maroon", Color.Maroon },
            { "Navy", Color.Navy }, { "Olive", Color.Olive },
            { "Purple", Color.Purple }, { "Red", Color.Red },
            { "Silver", Color.Silver }, { "Teal", Color.Teal },
            { "White", Color.White }, { "Yellow", Color.Yellow }
        };

        public PickerDemoPage()
        {
            Label header = new Label
            {
                Text = "Picker",
                FontSize = Device.GetNamedSize (NamedSize.Large, typeof(Label)),
                HorizontalOptions = LayoutOptions.Center
            };

            Picker picker = new Picker
            {
                Title = "Color",
                VerticalOptions = LayoutOptions.CenterAndExpand
            };

            foreach (string colorName in nameToColor.Keys)
            {
                picker.Items.Add(colorName);
            }

            // Create BoxView for displaying picked Color
            BoxView boxView = new BoxView
            {
                WidthRequest = 150,
                HeightRequest = 150,
                HorizontalOptions = LayoutOptions.Center,
                VerticalOptions = LayoutOptions.CenterAndExpand
            };

            picker.SelectedIndexChanged += (sender, args) =>
                {
                    if (picker.SelectedIndex == -1)
                    {
                        boxView.Color = Color.Default;
                    }
                    else
                    {
                        string colorName = picker.Items[picker.SelectedIndex];
                        boxView.Color = nameToColor[colorName];
                    }
                };

            // Accomodate iPhone status bar.
            this.Padding = new Thickness(10, Device.OnPlatform(20, 0, 0), 10, 5);

            // Build the page.
            this.Content = new StackLayout
            {
                Children =
                {
                    header,
                    picker,
                    boxView
                }
            };

        }
    }
}

构造函数

Picker()

初始化 Picker 类的新实例。

字段

CharacterSpacingProperty

用于在列表中选取元素的 View

FontAttributesProperty

FontAttributes 属性的后备存储。

FontFamilyProperty

FontFamily 属性的后备存储。

FontSizeProperty

FontSize 属性的后备存储。

HorizontalTextAlignmentProperty

用于在列表中选取元素的 View

ItemsSourceProperty

ItemsSource 属性的后备存储。

SelectedIndexProperty

SelectedIndex 可绑定属性的后备存储。

SelectedItemProperty

SelectedItem 属性的后备存储。

TextColorProperty

TextColor 属性的后备存储。

TextTransformProperty

用于在列表中选取元素的 View

TitleColorProperty

TitleColor 字段的后备存储。

TitleProperty

Title 可绑定属性的后备存储。

VerticalTextAlignmentProperty

用于在列表中选取元素的 View

属性

AnchorX

获取或设置任何转换的中心点的 X 部分,相对于元素的边界。 这是一种可绑定属性。

(继承自 VisualElement)
AnchorY

获取或设置任何转换的中心点的 Y 部分,相对于元素的边界。 这是一种可绑定属性。

(继承自 VisualElement)
AutomationId

获取或设置允许自动化框架查找此元素并与其交互的值。

(继承自 Element)
Background

用于在列表中选取元素的 View

(继承自 VisualElement)
BackgroundColor

获取或设置将填充 VisualElement 背景的颜色。 这是一种可绑定属性。

(继承自 VisualElement)
Batched

供 Xamarin.Forms 平台内部使用。

(继承自 VisualElement)
Behaviors

获取与此元素关联的 Behavior 列表。 这是一种可绑定属性。

(继承自 VisualElement)
BindingContext

获取或设置对象,该对象包含将被属于此 BindableObject 的绑定属性设定为目标的属性。

(继承自 BindableObject)
Bounds

获取元素的边界。

(继承自 VisualElement)
CharacterSpacing

用于在列表中选取元素的 View

class

用于在列表中选取元素的 View

(继承自 NavigableElement)
ClassId

获取或设置用于标识语义相似元素集合的值。

(继承自 Element)
Clip

用于在列表中选取元素的 View

(继承自 VisualElement)
DisableLayout

供 Xamarin.Forms 平台内部使用。

(继承自 VisualElement)
Dispatcher

用于在列表中选取元素的 View

(继承自 BindableObject)
EffectControlProvider

供 Xamarin.Forms 平台内部使用。

(继承自 Element)
Effects

应用于此项的效果列表。

(继承自 Element)
FlowDirection

获取或设置布局流方向。

(继承自 VisualElement)
FontAttributes

获取用于指示搜索栏文本的字体是粗体、斜体还是两者皆否的值。

FontFamily

获取或设置选取器文本的字体系列。

FontSize

获取或设置选取器中文本的字号。

GestureController

获取视图的手势控制器。

(继承自 View)
GestureRecognizers

与此视图关联的手势识别器的集合。

(继承自 View)
Height

获取此元素的当前呈现高度。 这是一种只读可绑定属性。

(继承自 VisualElement)
HeightRequest

获取或设置此元素的所需高度替代。

(继承自 VisualElement)
HorizontalOptions

获取或设置 LayoutOptions,它定义元素在布局周期中的布局方式。 这是一种可绑定属性。

(继承自 View)
HorizontalTextAlignment

用于在列表中选取元素的 View

Id

获取可用于通过运行应用程序唯一地标识元素的值。

(继承自 Element)
InputTransparent

获取或设置一个值,该值指示此元素是否应涉及用户交互周期。 这是一种可绑定属性。

(继承自 VisualElement)
IsEnabled

获取或设置一个值,该值指示是否在用户界面中启用此元素。 这是一种可绑定属性。

(继承自 VisualElement)
IsFocused

获取一个值,该值指示当前是否聚焦此元素。 这是一种可绑定属性。

(继承自 VisualElement)
IsInNativeLayout

供 Xamarin.Forms 平台内部使用。

(继承自 VisualElement)
IsNativeStateConsistent

供 Xamarin.Forms 平台内部使用。

(继承自 VisualElement)
IsPlatformEnabled

供 Xamarin.Forms 平台内部使用。

(继承自 VisualElement)
IsTabStop

获取或设置指明此元素是否包含在选项卡导航中的值。 这是一种可绑定属性。

(继承自 VisualElement)
IsVisible

获取或设置一个值,该值确定此元素是否应属于可视化树的一部分。 这是一种可绑定属性。

(继承自 VisualElement)
ItemDisplayBinding

获取或设置一个绑定,该绑定选择将为项列表中的每个对象显示的属性。

Items

获取选择列表。

ItemsSource

获取或设置用于模板和显示的项的源列表。

LogicalChildren

供 Xamarin.Forms 平台内部使用。

(继承自 Element)
Margin

获取或设置视图的边距。

(继承自 View)
MinimumHeightRequest

获取或设置一个值,该值将替代元素在布局期间请求的最小高度。

(继承自 VisualElement)
MinimumWidthRequest

获取或设置一个值,该值将替代元素在布局期间请求的最小宽度。

(继承自 VisualElement)
Navigation

用于在列表中选取元素的 View

(继承自 NavigableElement)
NavigationProxy

用于在列表中选取元素的 View

(继承自 NavigableElement)
Opacity

获取或设置呈现元素时应用于元素的不透明度值。 这是一种可绑定属性。

(继承自 VisualElement)
Parent

获取或设置元素的父元素。

(继承自 Element)
ParentView
已过时.

获取作为 VisualElement 的此元素的最近的上级元素。

(继承自 Element)
Platform
已过时.

用于在列表中选取元素的 View

(继承自 Element)
RealParent

供 Xamarin.Forms 平台内部使用。

(继承自 Element)
Resources

获取或设置本地资源字典。

(继承自 VisualElement)
Rotation

获取或设置呈现元素时围绕 Z 轴(仿射旋转)的旋转角度(以度为单位)。

(继承自 VisualElement)
RotationX

获取或设置呈现元素时围绕 X 轴(透视旋转)的旋转角度(以度为单位)。

(继承自 VisualElement)
RotationY

获取或设置呈现元素时围绕 Y 轴(透视旋转)的旋转角度(以度为单位)。

(继承自 VisualElement)
Scale

获取或设置应用于元素的比例因子。

(继承自 VisualElement)
ScaleX

获取或设置要应用于 X 方向的缩放值。

(继承自 VisualElement)
ScaleY

获取或设置要应用于 Y 方向的缩放值。

(继承自 VisualElement)
SelectedIndex

获取或设置选取器的选定项的索引。 这是一种可绑定属性。

SelectedItem

获取或设置选定项。

Style

用于在列表中选取元素的 View

(继承自 NavigableElement)
StyleClass

用于在列表中选取元素的 View

(继承自 NavigableElement)
StyleId

获取或设置用于唯一地标识元素的用户定义的值。

(继承自 Element)
TabIndex

用于在列表中选取元素的 View

(继承自 VisualElement)
TextColor

获取或设置文本颜色。

TextTransform

用于在列表中选取元素的 View

Title

获取或设置选取器的标题。 这是一种可绑定属性。

TitleColor

用于在列表中选取元素的 View

TranslationX

获取或设置元素的 X 转换增量。

(继承自 VisualElement)
TranslationY

获取或设置元素的 Y 转换增量。

(继承自 VisualElement)
Triggers

获取与此元素关联的 Trigger 列表。 这是一种可绑定属性。

(继承自 VisualElement)
VerticalOptions

获取或设置 LayoutOptions,它定义元素在布局周期中的布局方式。 这是一种可绑定属性。

(继承自 View)
VerticalTextAlignment

用于在列表中选取元素的 View

Visual

用于在列表中选取元素的 View

(继承自 VisualElement)
Width

获取此元素的当前呈现宽度。 这是一种只读可绑定属性。

(继承自 VisualElement)
WidthRequest

获取或设置此元素的所需宽度替代。

(继承自 VisualElement)
X

获取此元素的当前 X 位置。 这是一种只读可绑定属性。

(继承自 VisualElement)
Y

获取此元素的当前 Y 位置。 这是一种只读可绑定属性。

(继承自 VisualElement)

方法

ApplyBindings()

将绑定应用到 BindingContext

(继承自 BindableObject)
BatchBegin()

表示开始对元素属性进行批更改。

(继承自 VisualElement)
BatchCommit()

表示元素命令批处理结束,且现在应提交命令。

(继承自 VisualElement)
ChangeVisualState()

供 Xamarin.Forms 平台内部使用。

(继承自 VisualElement)
ClearValue(BindableProperty)

清除由 SetValueproperty 设置的任何值。

(继承自 BindableObject)
ClearValue(BindablePropertyKey)

清除由 SetValuepropertyKey 标识的属性设置的任何值。

(继承自 BindableObject)
CoerceValue(BindableProperty)

用于在列表中选取元素的 View

(继承自 BindableObject)
CoerceValue(BindablePropertyKey)

用于在列表中选取元素的 View

(继承自 BindableObject)
Descendants()

供 Xamarin.Forms 平台内部使用。

(继承自 Element)
EffectIsAttached(String)

供 Xamarin.Forms 平台内部使用。

(继承自 Element)
FindByName(String)

返回具有指定名称的元素。

(继承自 Element)
Focus()

尝试将焦点设定到此元素上。

(继承自 VisualElement)
GetChildElements(Point)

返回在指定的 point 下可见的子元素。

(继承自 View)
GetSizeRequest(Double, Double)
已过时.

返回元素的 SizeRequest。 调用此方法开始布局循环的测量过程。

(继承自 VisualElement)
GetValue(BindableProperty)

返回 BindableProperty 中包含的值。

(继承自 BindableObject)
GetValues(BindableProperty, BindableProperty, BindableProperty)
已过时.

供 Xamarin.Forms 平台内部使用。

(继承自 BindableObject)
GetValues(BindableProperty, BindableProperty)
已过时.

供 Xamarin.Forms 平台内部使用。

(继承自 BindableObject)
InvalidateMeasure()

调用此方法以使此 VisualElement 的布局无效。 引发 MeasureInvalidated 事件。

(继承自 VisualElement)
InvalidateMeasureNonVirtual(InvalidationTrigger)

供 Xamarin.Forms 平台内部使用。

(继承自 VisualElement)
IsSet(BindableProperty)

如果目标属性存在并且已设置,则返回 true

(继承自 BindableObject)
Layout(Rectangle)

在布局循环中更新元素的边界。

(继承自 VisualElement)
Measure(Double, Double, MeasureFlags)

返回在设备上显示可视元素所需的最小大小。

(继承自 VisualElement)
NativeSizeChanged()

供 Xamarin.Forms 平台内部使用。

(继承自 VisualElement)
On<T>()

返回此 Picker 的特定于平台的实例,可对其调用特定于平台的方法。

OnBindingContextChanged()

每当 View 的绑定上下文发生更改时就会调用。 重写此方法可为此事件添加类处理。

(继承自 View)
OnChildAdded(Element)

应用程序开发者可以重写此方法以在添加子级时进行响应。

(继承自 VisualElement)
OnChildRemoved(Element, Int32)

用于在列表中选取元素的 View

(继承自 VisualElement)
OnChildRemoved(Element)
已过时.

应用程序开发者可以重写此方法以在删除子级时进行响应。

(继承自 VisualElement)
OnChildrenReordered()

即将发出 ChildrenReordered 事件时调用。 实现此方法可为此事件添加类处理。

(继承自 VisualElement)
OnMeasure(Double, Double)

进行布局测量时调用的方法。

(继承自 VisualElement)
OnParentSet()

用于在列表中选取元素的 View

(继承自 NavigableElement)
OnPropertyChanged(String)

更改绑定属性时调用的方法。

(继承自 Element)
OnPropertyChanging(String)

从子类调用此方法以通知属性将要发生更改。

(继承自 BindableObject)
OnSizeAllocated(Double, Double)

在布局循环过程中设置元素的大小时调用此方法。 在发出 SizeChanged 事件之前直接调用此方法。 实现此方法可为此事件添加类处理。

(继承自 VisualElement)
OnSizeRequest(Double, Double)
已过时.

此方法在对布局循环的测量过程中调用,以获取需要的元素大小。

(继承自 VisualElement)
OnTabIndexPropertyChanged(Int32, Int32)

用于在列表中选取元素的 View

(继承自 VisualElement)
OnTabStopPropertyChanged(Boolean, Boolean)

用于在列表中选取元素的 View

(继承自 VisualElement)
RemoveBinding(BindableProperty)

删除先前设置的绑定。

(继承自 BindableObject)
RemoveDynamicResource(BindableProperty)

移除先前设置的动态资源

(继承自 Element)
SetBinding(BindableProperty, BindingBase)

向属性分配绑定。

(继承自 BindableObject)
SetDynamicResource(BindableProperty, String)

将此元素的 BindableProperty 属性设置为通过 DynamicResource 使用提供的键来更新。

(继承自 Element)
SetValue(BindableProperty, Object)

设置指定属性的值。

(继承自 BindableObject)
SetValue(BindablePropertyKey, Object)

设置 propertyKey 的值。

(继承自 BindableObject)
SetValueCore(BindableProperty, Object, SetValueFlags)

供 Xamarin.Forms 平台内部使用。

(继承自 BindableObject)
SetValueFromRenderer(BindableProperty, Object)

供 Xamarin.Forms 平台内部使用。

(继承自 Element)
SetValueFromRenderer(BindablePropertyKey, Object)

供 Xamarin.Forms 平台内部使用。

(继承自 Element)
SizeAllocated(Double, Double)

在布局循环过程中调用 SizeAllocated 以指示子树布局的开始。

(继承自 VisualElement)
TabIndexDefaultValueCreator()

用于在列表中选取元素的 View

(继承自 VisualElement)
TabStopDefaultValueCreator()

用于在列表中选取元素的 View

(继承自 VisualElement)
UnapplyBindings()

不应用所有以前设置的绑定。

(继承自 BindableObject)
Unfocus()

取消设置此元素的焦点。

(继承自 VisualElement)
UpdateFormsText(String, TextTransform)

用于在列表中选取元素的 View

事件

BatchCommitted

供 Xamarin.Forms 平台内部使用。

(继承自 VisualElement)
BindingContextChanged

只要 BindingContext 属性更改就会引发。

(继承自 BindableObject)
ChildAdded

每当将子元素添加到元素时就会发生。

(继承自 Element)
ChildRemoved

每当从元素中删除子元素时就会发生。

(继承自 Element)
ChildrenReordered

重新排序 VisualElement 的子级时发生。

(继承自 VisualElement)
DescendantAdded

每当将子元素添加到元素子树时就会发生。

(继承自 Element)
DescendantRemoved

每当从元素子树中删除子元素时就会发生。

(继承自 Element)
FocusChangeRequested

供 Xamarin.Forms 平台内部使用。

(继承自 VisualElement)
Focused

元素接收焦点时发生。

(继承自 VisualElement)
MeasureInvalidated

可视元素的布局无效时引发的事件。

(继承自 VisualElement)
PlatformSet
已过时.

用于在列表中选取元素的 View

(继承自 Element)
PropertyChanged

在属性已更改时引发。

(继承自 BindableObject)
PropertyChanging

在属性将要更改时引发。

(继承自 BindableObject)
SelectedIndexChanged

在 SelectIndex 属性值发生更改时引发。

SizeChanged

当此元素上的 Width 或 Height 属性的值发生更改时发生。

(继承自 VisualElement)
Unfocused

当元素丢失焦点时发生。

(继承自 VisualElement)

显式接口实现

IDynamicResourceHandler.SetDynamicResource(BindableProperty, String)

供 Xamarin.Forms 平台内部使用。

(继承自 BindableObject)
IElementController.SetValueFromRenderer(BindableProperty, Object)

供 Xamarin.Forms 平台内部使用。

(继承自 Element)
IFontElement.FontSizeDefaultValueCreator()

供 Xamarin.Forms 平台内部使用。

IFontElement.OnFontAttributesChanged(FontAttributes, FontAttributes)

供 Xamarin.Forms 平台内部使用。

IFontElement.OnFontChanged(Font, Font)

供 Xamarin.Forms 平台内部使用。

IFontElement.OnFontFamilyChanged(String, String)

供 Xamarin.Forms 平台内部使用。

IFontElement.OnFontSizeChanged(Double, Double)

供 Xamarin.Forms 平台内部使用。

IGestureController.CompositeGestureRecognizers

供 Xamarin.Forms 平台内部使用。

(继承自 View)
INameScope.RegisterName(String, Object)

仅限内部使用。

(继承自 Element)
IVisualElementController.EffectiveFlowDirection

获取平台上元素的有效可视流方向,考虑区域设置和逻辑流设置。

(继承自 VisualElement)
IVisualElementController.InvalidateMeasure(InvalidationTrigger)

此方法仅供内部使用。

(继承自 VisualElement)

扩展方法

AbortAnimation(IAnimatable, String)

停止动画。

Animate(IAnimatable, String, Action<Double>, Double, Double, UInt32, UInt32, Easing, Action<Double,Boolean>, Func<Boolean>)

设置指定参数并启动动画。

Animate(IAnimatable, String, Action<Double>, UInt32, UInt32, Easing, Action<Double,Boolean>, Func<Boolean>)

设置指定参数并启动动画。

Animate(IAnimatable, String, Animation, UInt32, UInt32, Easing, Action<Double,Boolean>, Func<Boolean>)

设置指定参数并启动动画。

Animate<T>(IAnimatable, String, Func<Double,T>, Action<T>, UInt32, UInt32, Easing, Action<T,Boolean>, Func<Boolean>)

设置指定参数并启动动画。

AnimateKinetic(IAnimatable, String, Func<Double,Double,Boolean>, Double, Double, Action)

设置指定参数并启动动态动画。

AnimationIsRunning(IAnimatable, String)

返回一个布尔值,该值指示 handle 指定的动画是否正在运行。

Batch(IAnimatable)

用于在列表中选取元素的 View

GetPropertyIfSet<T>(BindableObject, BindableProperty, T)

用于在列表中选取元素的 View

SetAppThemeColor(BindableObject, BindableProperty, Color, Color)

用于在列表中选取元素的 View

SetBinding(BindableObject, BindableProperty, String, BindingMode, IValueConverter, String)

创建绑定并将其应用到属性。

SetBinding<TSource>(BindableObject, BindableProperty, Expression<Func<TSource,Object>>, BindingMode, IValueConverter, String)
已过时.

通过表达式创建并应用绑定。

SetOnAppTheme<T>(BindableObject, BindableProperty, T, T)

用于在列表中选取元素的 View

FindByName<T>(Element, String)

返回包含 element 的作用域中名称为 name 的类型 T 的实例。

FindNextElement(ITabStopElement, Boolean, IDictionary<Int32,List<ITabStopElement>>, Int32)

用于在列表中选取元素的 View

GetSortedTabIndexesOnParentPage(VisualElement)

用于在列表中选取元素的 View

GetTabIndexesOnParentPage(ITabStopElement, Int32)

用于在列表中选取元素的 View

FadeTo(VisualElement, Double, UInt32, Easing)

返回一个任务,它执行 opacitylengtheasing 参数描述的淡化。

LayoutTo(VisualElement, Rectangle, UInt32, Easing)

返回一个任务,它将 view 指定的 VisualElement 的边界简化为 bounds 参数指定的矩形。

RelRotateTo(VisualElement, Double, UInt32, Easing)

从当前旋转将 view 指定的 VisualElement 旋转为 drotation

RelScaleTo(VisualElement, Double, UInt32, Easing)

返回一个任务,它将 view 指定的 VisualElement 从其当前比例缩放到 dscale

RotateTo(VisualElement, Double, UInt32, Easing)

返回一个任务,它执行 rotationlengtheasing 参数描述的旋转。

RotateXTo(VisualElement, Double, UInt32, Easing)

返回将 Y 轴倾斜 opacity 的任务,花费时间 length 并使用 easing

RotateYTo(VisualElement, Double, UInt32, Easing)

返回将 X 轴倾斜 opacity 的任务,花费时间 length 并使用 easing

ScaleTo(VisualElement, Double, UInt32, Easing)

返回一个任务,它将 view 指定的 VisualElement 缩放到绝对比例因子 scale

ScaleXTo(VisualElement, Double, UInt32, Easing)

用于在列表中选取元素的 View

ScaleYTo(VisualElement, Double, UInt32, Easing)

用于在列表中选取元素的 View

TranslateTo(VisualElement, Double, Double, UInt32, Easing)

将元素 TranslationX 和 TranslationY 属性从其当前值动画处理为新的值。 这可确保输入布局与视觉对象布局处于同一位置。

HasVisualStateGroups(VisualElement)

如果 element 具有与之关联的一个或多个可视状态组,则返回 true。 否则返回 false

适用于