Switch 类

定义

提供已切换的值的 View 控件。

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

注解

以下示例描述了基本用法。

using System;
using Xamarin.Forms;

namespace FormsGallery
{
    class SwitchDemoPage : ContentPage
    {
        Label label;

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

            Switch switcher = new Switch
            {
                HorizontalOptions = LayoutOptions.Center,
                VerticalOptions = LayoutOptions.CenterAndExpand
            };
            switcher.Toggled += switcher_Toggled;

            label = new Label
            {
                Text = "Switch is now False",
                FontSize = Device.GetNamedSize (NamedSize.Large, typeof(Label)),
                HorizontalOptions = LayoutOptions.Center,
                VerticalOptions = LayoutOptions.CenterAndExpand
            };

            // 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,
                    switcher,
                    label
                }
            };
        }

        void switcher_Toggled(object sender, ToggledEventArgs e)
        {
            label.Text = String.Format("Switch is now {0}", e.Value);
        }
    }
}

构造函数

Switch()

新建具有默认值的 Switch 元素。

字段

IsToggledProperty

IsToggled 属性的后备存储。

OnColorProperty

OnColor 属性的后备存储。

SwitchOffVisualState

提供已切换的值的 View 控件。

SwitchOnVisualState

提供已切换的值的 View 控件。

ThumbColorProperty

提供已切换的值的 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)
class

提供已切换的值的 View 控件。

(继承自 NavigableElement)
ClassId

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

(继承自 Element)
Clip

提供已切换的值的 View 控件。

(继承自 VisualElement)
DisableLayout

供 Xamarin.Forms 平台内部使用。

(继承自 VisualElement)
Dispatcher

提供已切换的值的 View 控件。

(继承自 BindableObject)
EffectControlProvider

供 Xamarin.Forms 平台内部使用。

(继承自 Element)
Effects

应用于此项的效果列表。

(继承自 Element)
FlowDirection

获取或设置布局流方向。

(继承自 VisualElement)
GestureController

获取视图的手势控制器。

(继承自 View)
GestureRecognizers

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

(继承自 View)
Height

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

(继承自 VisualElement)
HeightRequest

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

(继承自 VisualElement)
HorizontalOptions

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

(继承自 View)
Id

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

(继承自 Element)
InputTransparent

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

(继承自 VisualElement)
IsEnabled

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

(继承自 VisualElement)
IsFocused

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

(继承自 VisualElement)
IsInNativeLayout

供 Xamarin.Forms 平台内部使用。

(继承自 VisualElement)
IsNativeStateConsistent

供 Xamarin.Forms 平台内部使用。

(继承自 VisualElement)
IsPlatformEnabled

供 Xamarin.Forms 平台内部使用。

(继承自 VisualElement)
IsTabStop

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

(继承自 VisualElement)
IsToggled

获取或设置一个布尔值,该值指示此 Switch 元素是否已切换。

IsVisible

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

(继承自 VisualElement)
LogicalChildren

供 Xamarin.Forms 平台内部使用。

(继承自 Element)
Margin

获取或设置视图的边距。

(继承自 View)
MinimumHeightRequest

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

(继承自 VisualElement)
MinimumWidthRequest

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

(继承自 VisualElement)
Navigation

提供已切换的值的 View 控件。

(继承自 NavigableElement)
NavigationProxy

提供已切换的值的 View 控件。

(继承自 NavigableElement)
OnColor

获取或设置处于“打开”位置的开关颜色。

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)
Style

提供已切换的值的 View 控件。

(继承自 NavigableElement)
StyleClass

提供已切换的值的 View 控件。

(继承自 NavigableElement)
StyleId

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

(继承自 Element)
TabIndex

提供已切换的值的 View 控件。

(继承自 VisualElement)
ThumbColor

提供已切换的值的 View 控件。

TranslationX

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

(继承自 VisualElement)
TranslationY

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

(继承自 VisualElement)
Triggers

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

(继承自 VisualElement)
VerticalOptions

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

(继承自 View)
Visual

提供已切换的值的 View 控件。

(继承自 VisualElement)
Width

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

(继承自 VisualElement)
WidthRequest

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

(继承自 VisualElement)
X

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

(继承自 VisualElement)
Y

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

(继承自 VisualElement)

方法

ApplyBindings()

将绑定应用到 BindingContext

(继承自 BindableObject)
BatchBegin()

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

(继承自 VisualElement)
BatchCommit()

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

(继承自 VisualElement)
ChangeVisualState()

提供已切换的值的 View 控件。

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)
已过时。

供 Xamarin.Forms 平台内部使用。

(继承自 BindableObject)
GetValues(BindableProperty, 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>()

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

OnBindingContextChanged()

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

(继承自 View)
OnChildAdded(Element)

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

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

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

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

提供已切换的值的 View 控件。

(继承自 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)

事件

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)
SizeChanged

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

(继承自 VisualElement)
Toggled

在切换 Switch 时引发的事件。

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)

扩展方法

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

适用于