Xamarin.Forms 用户界面——控件——Text——Entry
条目PDF用于离线使用下载PDF示例代码:文本相关API:Entry API让我们知道你对此的感受单行文本或密码输入Xamarin.Forms Entry用于单行文本输入。Entry像编辑器视图一样,支持多种键盘类型。另外,Entry可以用作密码字段。
条目
单行文本或密码输入
Xamarin.Forms Entry
用于单行文本输入。Entry
像编辑器视图一样,支持多种键盘类型。另外,Entry
可以用作密码字段。
显示定制
设置和阅读文本
与其他文字呈现视图一样,条目公开了该Text
属性。Text
可以用来设置和阅读由...提交的文字Entry
。以下示例演示如何在XAML中设置文本:
<Entry Text="I am an Entry" />
在C#中:
var MyEntry = new Entry { Text = "I am an Entry" };
要阅读文本,请访问Text
C#中的属性:
var text = MyEntry.Text;
注意:Entry
可以通过设置其WidthRequest
属性来定义宽度。不依赖于Entry
基于其Text
属性的值定义的宽度。
键盘
用户与用户交互时显示的键盘Entry
可以通过Keyboard
属性以编程方式设置。
键盘类型的选项有:
- 默认 - 默认键盘
- 聊天 - 用于发短信和表情符号有用的地方
- 电子邮件 - 用于输入电子邮件地址
- 数字 - 输入数字时使用
- 电话 - 输入电话号码时使用
- 网址 - 用于输入文件路径和网址
占位符
Entry
可以设置为在不存储用户输入时显示占位符文本。在实践中,这通常以用于澄清适用于给定领域的内容的形式来看待。占位符文本颜色无法自定义,无论TextColor
设置如何,都会相同。如果您的设计需要自定义占位符颜色,则需要退回到自定义渲染器。以下将Entry
使用“用户名”作为XAML中的占位符:
<Entry Placeholder="Username" />
在C#中:
var MyEntry = new Entry { Placeholder = "Username" };
密码字段
Entry
提供IsPassword
物业。如果IsPassword
是true
,该字段的内容将呈现为黑色圆圈:
在XAML中:
<Entry IsPassword="true" />
在C#中:
var MyEntry = new Entry { IsPassword = true };
可以使用占位符,其实例Entry
被配置为密码字段:
在XAML中:
<Entry IsPassword="true" Placeholder="Password" />
在C#中:
var MyEntry = new Entry { IsPassword = true, Placeholder = "Password" };
颜色
可以通过以下可绑定属性将条目设置为使用自定义背景和文本颜色:
- TextColor - 设置文本的颜色。
- BackgroundColor - 设置文本后面显示的颜色。
需要特别注意确保每个平台上的颜色可用。因为每个平台的文本和背景色都有不同的默认值,所以你经常需要设置两者。
使用以下代码设置条目的文本颜色:
在XAML中:
<Entry TextColor="Green" />
在C#中:
var entry = new Entry();
entry.TextColor = Color.Green;
请注意,占位符不受指定的影响TextColor
。
要设置XAML中的背景颜色:
<Entry BackgroundColor="#2c3e50" />
在C#中:
var entry = new Entry();
entry.BackgroundColor = Color.FromHex("#2c3e50");
小心确保您选择的背景和文字颜色可在每个平台上使用,并且不要遮盖任何占位符文本。
事件和互动
条目暴露两个事件:
- TextChanged - 文本在条目中更改时引发。提供更改前后的文字。
- 完成 - 当用户通过按键盘上的返回键结束输入时提高。
已完成
该Completed
事件用于对与Entry进行交互的完成进行反应。Completed
当用户通过输入键盘上的返回键结束字段输入时,它被提升。事件的处理程序是一个通用事件处理程序,采用发件人和EventArgs
:
void Entry_Completed (object sender, EventArgs e)
{
var text = ((Entry)sender).Text; //cast sender to access the properties of the Entry
}
完成的事件可以在XAML中订阅:
<Entry Completed="Entry_Completed" />
和C#:
var entry = new Entry ();
entry.Completed += Entry_Completed;
框TextChanged
该TextChanged
事件用于对字段内容的更改做出反应。
TextChanged
每当Text
有Entry
变化时都会提出。事件的处理程序需要一个实例TextChangedEventArgs
。TextChangedEventArgs
提供对Entry
Text
通过OldTextValue
和NewTextValue
属性的旧的和新的值的访问:
void Entry_TextChanged (object sender, TextChangedEventArgs e)
{
var oldText = e.OldTextValue;
var newText = e.NewTextValue
}
该TextChanged
活动可以在XAML中订阅:
<Entry TextChanged="Entry_TextChanged" />
和C#:
var entry = new Entry ();
entry.TextChanged += Entry_TextChanged;
更多推荐
所有评论(0)