Button 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
对触摸事件做出响应的按钮 View。
[Xamarin.Forms.RenderWith(typeof(Xamarin.Forms.Platform._ButtonRenderer))]
public class Button : Xamarin.Forms.View, Xamarin.Forms.IBorderElement, Xamarin.Forms.IButtonController, Xamarin.Forms.IElementConfiguration<Xamarin.Forms.Button>, Xamarin.Forms.IImageController, Xamarin.Forms.IImageElement, Xamarin.Forms.Internals.IFontElement
type Button = class
inherit View
interface IFontElement
interface IBorderElement
interface IButtonController
interface IViewController
interface IVisualElementController
interface IElementController
interface IElementConfiguration<Button>
interface IImageController
interface IImageElement
- 继承
- 属性
- 实现
注解
按钮外观
除了所有 View 对象共有的外观属性外,Button 类还提供 BorderColor、 BorderWidth、 BorderRadius和 Image 属性。
下面的 XAML 代码片段演示如何使用这些属性创建包含文本“按我!” 的基本按钮 按钮显示的图像显示在布局的起始端,这是从左到右语言的左侧。
<Button Text="Press me!"
Image="icon.png"
BackgroundColor="White"
BorderRadius="10"
BorderWidth="2"
BorderColor="Black"
HorizontalOptions="Center"/>
若要使用上述 XAML 显示 icon.png
图像,开发人员必须将其放置在适当的位置,并具有特定于每个平台项目的相应生成操作。
图像主题介绍了这一点以及有关在 Xamarin 中使用图像的其他重要详细信息。Forms。
按钮事件
按钮分别使用 、 和 事件PressedReleased通知开发人员按下、释放和Clicked单击事件。
以下 XAML 将处理程序分配给其中两个按钮事件:
<Button x:Name="PressMeButton"
Text="Press Me!"
Pressed="PressMeButton_Pressed"
Clicked="PressMeButton_Clicked"/>
使用上面的 XAML,当引发这些事件时,代码隐藏文件中的以下事件处理程序会更改按钮的文本:
private void PressMeButton_Pressed(object sender, EventArgs e)
{
(sender as Button).Text = "You pressed me!";
}
private void PressMeButton_Clicked(object sender, EventArgs e)
{
(sender as Button).Text = "I was just clicked!";
}
命令
按钮的命令 API 允许开发人员运行命令,以响应单击事件。
以下 XAML 指定在单击按钮时要运行的命令。 命令更新名为 的 modelUpdateCount
视图模型属性,按钮随后使用该属性更新其文本。 (为完整性而显示文本绑定。只有命令代码是相关的。) :
<Button Text="{Binding modelUpdateCount, StringFormat='Number of updates to the model: {0:D}'}"
Command="{Binding IncrementLabelCommand}" />
使用上面的 XAML,开发人员首先在视图模型上定义 IncrementLabelCommand
属性,并实现一个方法,稍后使用该方法实例化命令:
public ICommand IncrementLabelCommand { get; private set; }
void IncrementLabel()
{
modelUpdateCount++;
}
其次,开发人员使用 方法 (或操作) 初始化命令:
public ViewModelDemo()
{
IncrementLabelCommand = new Command(IncrementLabel);
}
最后,开发人员必须将main页的构造函数中的绑定上下文设置为实现 属性的视图模型的绑定上下文:
public MainPage()
{
InitializeComponent();
BindingContext = new ViewModelDemo();
}
构造函数
Button() |
初始化 Button 类的新实例。 |
字段
BorderColorProperty |
BorderColor 可绑定属性的后备存储。 |
BorderRadiusProperty |
已过时.
BorderRadius 可绑定属性的后备存储。 |
BorderWidthProperty |
BorderWidth 可绑定属性的后备存储。 |
CharacterSpacingProperty |
CharacterSpacing 可绑定属性的后备存储。 |
CommandParameterProperty |
CommandParameter 可绑定属性的后备存储。 |
CommandProperty |
Command 可绑定属性的后备存储。 |
ContentLayoutProperty |
ContentLayout 可绑定属性的后备存储。 |
CornerRadiusProperty |
CornerRadius 可绑定属性的后备存储。 |
FontAttributesProperty |
FontAttributes 可绑定属性的后备存储。 |
FontFamilyProperty |
FontFamily 可绑定属性的后备存储。 |
FontProperty |
Font 可绑定属性的后备存储。 |
FontSizeProperty |
FontSize 可绑定属性的后备存储。 |
ImageProperty |
已过时.
Image 可绑定属性的后备存储。 |
ImageSourceProperty |
ImageSource 可绑定属性的后备存储。 |
IsPressedProperty |
IsPressed 可绑定属性的后备存储。 |
PaddingProperty |
Padding 可绑定属性的后备存储。 |
TextColorProperty |
TextColor 可绑定属性的后备存储。 |
TextProperty |
Text 可绑定属性的后备存储。 |
TextTransformProperty |
TextTransform 可绑定属性的后备存储。 |
属性
AnchorX |
获取或设置任何转换的中心点的 X 部分,相对于元素的边界。 这是一种可绑定属性。 (继承自 VisualElement) |
AnchorY |
获取或设置任何转换的中心点的 Y 部分,相对于元素的边界。 这是一种可绑定属性。 (继承自 VisualElement) |
AutomationId |
获取或设置允许自动化框架查找此元素并与其交互的值。 (继承自 Element) |
Background |
对触摸事件做出响应的按钮 View。 (继承自 VisualElement) |
BackgroundColor |
获取或设置将填充 VisualElement 背景的颜色。 这是一种可绑定属性。 (继承自 VisualElement) |
Batched |
供 Xamarin.Forms 平台内部使用。 (继承自 VisualElement) |
Behaviors |
获取与此元素关联的 Behavior 列表。 这是一种可绑定属性。 (继承自 VisualElement) |
BindingContext |
获取或设置对象,该对象包含将被属于此 BindableObject 的绑定属性设定为目标的属性。 (继承自 BindableObject) |
BorderColor |
获取或设置描述按钮边框笔划颜色的颜色。 这是一种可绑定属性。 |
BorderRadius |
已过时.
获取或设置边框的圆角半径。 这是一种可绑定属性。 |
BorderWidth |
获取或设置边框的宽度。 这是一种可绑定属性。 |
Bounds |
获取元素的边界。 (继承自 VisualElement) |
CharacterSpacing |
对触摸事件做出响应的按钮 View。 |
class |
对触摸事件做出响应的按钮 View。 (继承自 NavigableElement) |
ClassId |
获取或设置用于标识语义相似元素集合的值。 (继承自 Element) |
Clip |
对触摸事件做出响应的按钮 View。 (继承自 VisualElement) |
Command |
获取或设置激活按钮时要调用的命令。 这是一种可绑定属性。 |
CommandParameter |
获取或设置要传递给 Command 属性的参数。 这是一种可绑定属性。 |
ContentLayout |
获取或设置一个对象,用于控制按钮图像的位置以及按钮图像和按钮文本之间的间距。 |
CornerRadius |
获取或设置按钮的圆角半径(以与设备无关的单位为单位)。 |
DisableLayout |
供 Xamarin.Forms 平台内部使用。 (继承自 VisualElement) |
Dispatcher |
对触摸事件做出响应的按钮 View。 (继承自 BindableObject) |
EffectControlProvider |
供 Xamarin.Forms 平台内部使用。 (继承自 Element) |
Effects |
应用于此项的效果列表。 (继承自 Element) |
FlowDirection |
获取或设置布局流方向。 (继承自 VisualElement) |
Font |
获取或设置标签文本的字体。 这是一种可绑定属性。 |
FontAttributes |
获取用于指示按钮文本的字体是粗体、斜体还是两者皆否的值。 |
FontFamily |
获取按钮文本的字体所属的字体系列。 |
FontSize |
获取或设置按钮文本的字体大小。 |
GestureController |
获取视图的手势控制器。 (继承自 View) |
GestureRecognizers |
与此视图关联的手势识别器的集合。 (继承自 View) |
Height |
获取此元素的当前呈现高度。 这是一种只读可绑定属性。 (继承自 VisualElement) |
HeightRequest |
获取或设置此元素的所需高度替代。 (继承自 VisualElement) |
HorizontalOptions |
获取或设置 LayoutOptions,它定义元素在布局周期中的布局方式。 这是一种可绑定属性。 (继承自 View) |
Id |
获取可用于通过运行应用程序唯一地标识元素的值。 (继承自 Element) |
Image |
已过时.
获取或设置要在按钮中的文本旁边显示的可选图像源。 这是一种可绑定属性。 |
ImageSource |
允许在按钮上显示位图图像。 |
InputTransparent |
获取或设置一个值,该值指示此元素是否应涉及用户交互周期。 这是一种可绑定属性。 (继承自 VisualElement) |
IsEnabled |
获取或设置一个值,该值指示是否在用户界面中启用此元素。 这是一种可绑定属性。 (继承自 VisualElement) |
IsFocused |
获取一个值,该值指示当前是否聚焦此元素。 这是一种可绑定属性。 (继承自 VisualElement) |
IsInNativeLayout |
供 Xamarin.Forms 平台内部使用。 (继承自 VisualElement) |
IsNativeStateConsistent |
供 Xamarin.Forms 平台内部使用。 (继承自 VisualElement) |
IsPlatformEnabled |
供 Xamarin.Forms 平台内部使用。 (继承自 VisualElement) |
IsPressed |
供 Xamarin.Forms 平台内部使用。 |
IsTabStop |
获取或设置指明此元素是否包含在选项卡导航中的值。 这是一种可绑定属性。 (继承自 VisualElement) |
IsVisible |
获取或设置一个值,该值确定此元素是否应属于可视化树的一部分。 这是一种可绑定属性。 (继承自 VisualElement) |
LogicalChildren |
供 Xamarin.Forms 平台内部使用。 (继承自 Element) |
Margin |
获取或设置视图的边距。 (继承自 View) |
MinimumHeightRequest |
获取或设置一个值,该值将替代元素在布局期间请求的最小高度。 (继承自 VisualElement) |
MinimumWidthRequest |
获取或设置一个值,该值将替代元素在布局期间请求的最小宽度。 (继承自 VisualElement) |
Navigation |
对触摸事件做出响应的按钮 View。 (继承自 NavigableElement) |
NavigationProxy |
对触摸事件做出响应的按钮 View。 (继承自 NavigableElement) |
Opacity |
获取或设置呈现元素时应用于元素的不透明度值。 这是一种可绑定属性。 (继承自 VisualElement) |
Padding |
获取或设置按钮的填充。 |
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) |
Text |
获取或设置显示为按钮内容的文本。 这是一种可绑定属性。 |
TextColor |
获取或设置按钮文本的 Color。 这是一种可绑定属性。 |
TextTransform |
对触摸事件做出响应的按钮 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) |
方法
事件
BatchCommitted |
供 Xamarin.Forms 平台内部使用。 (继承自 VisualElement) |
BindingContextChanged |
只要 BindingContext 属性更改就会引发。 (继承自 BindableObject) |
ChildAdded |
每当将子元素添加到元素时就会发生。 (继承自 Element) |
ChildRemoved |
每当从元素中删除子元素时就会发生。 (继承自 Element) |
ChildrenReordered |
重新排序 VisualElement 的子级时发生。 (继承自 VisualElement) |
Clicked |
单击 Button 时发生。 |
DescendantAdded |
每当将子元素添加到元素子树时就会发生。 (继承自 Element) |
DescendantRemoved |
每当从元素子树中删除子元素时就会发生。 (继承自 Element) |
FocusChangeRequested |
供 Xamarin.Forms 平台内部使用。 (继承自 VisualElement) |
Focused |
元素接收焦点时发生。 (继承自 VisualElement) |
MeasureInvalidated |
可视元素的布局无效时引发的事件。 (继承自 VisualElement) |
PlatformSet |
已过时.
对触摸事件做出响应的按钮 View。 (继承自 Element) |
Pressed |
按下按钮时发生。 |
PropertyChanged |
在属性已更改时引发。 (继承自 BindableObject) |
PropertyChanging |
在属性将要更改时引发。 (继承自 BindableObject) |
Released |
松开按钮时发生。 |
SizeChanged |
当此元素上的 Width 或 Height 属性的值发生更改时发生。 (继承自 VisualElement) |
Unfocused |
当元素丢失焦点时发生。 (继承自 VisualElement) |