Xamarin.Forms 创建移动应用程序的基础知识 6 - Editor

简介

演示 Editor 属性。

  1. 在 XAML 中创建 Xamarin.Forms Editor 。
  2. 响应 Editor 的文本更改。
  3. Editor 属性简介。

创建 Editor

  1. 打开已有项目 AwesomeApp。
  2. 添加新项 EditorPage.xaml。
  3. 编辑 EditorPage.xaml:
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:d="http://xamarin.com/schemas/2014/forms/design"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
             mc:Ignorable="d"
             x:Class="AwesomeApp.EditorPage">
	<ContentPage.Content>
		<StackLayout Margin="20,32">
			<Editor Placeholder="输入文本"
					AutoSize="TextChanges" />
		</StackLayout>
	</ContentPage.Content>
</ContentPage>

AutoSize 设备 Editor 按内容输入自动高度 4. 编辑 App.xaml.cs:

public App()
{
	InitializeComponent();
	MainPage = new EditorPage();
}
  1. 调试 Android 上的应用:

响应 Editor 的文本更改

  1. 编辑 EditorPage.xaml:
<StackLayout Margin="20,32">
	<Editor Placeholder="输入文本"
			TextChanged="OnEditorTextChanged"
			Completed="OnEditorCompleted" />
	<Label Text="OldText"
		   TextColor="Black"/>
	<Label x:Name="labOld" />
	<Label Text="NewText"
		   TextColor="Black" />
	<Label x:Name="labNew" />
	<Label Text="CompletedText"
		   TextColor="Black" />
	<Label x:Name="labCompleted" />
</StackLayout>

*使用返回或完成键完成 Editor 中的文本输入时,才会触发 Completed 事件

  1. 编辑 EditorPage.xaml.cs:
public void OnEditorTextChanged(object sender, TextChangedEventArgs e)
{
	labOld.Text = e.OldTextValue;
	labNew.Text = e.NewTextValue;
}

public void OnEditorCompleted(object sender, EventArgs e)
{
	labCompleted.Text = ((Editor)sender).Text;
}
  1. 调试 Android 上的应用:

Editor 属性简介

  1. 编辑 EditorPage.xaml:
<Editor Placeholder="输入文本"
		AutoSize="TextChanges"
		MaxLength="300"
		IsSpellCheckEnabled="false"
		IsTextPredictionEnabled="false"
		TextChanged="OnEditorTextChanged"
		Completed="OnEditorCompleted" />
  • MaxLength 限制输入长度
  • IsSpellCheckEnabled 禁用拼写检查
  • IsTextPredictionEnabled 禁用文本预测和自动文本预测
  1. 调试 Android 上的应用: