【发布时间】:2016-09-08 22:44:04
【问题描述】:
目前我正在为 Android 开发 PCL Xamarin Forms。我现在正在处理一个通过 Text_Changed 事件捕获扫描数据的条目。我想知道是否可以在内容页面上处理此扫描数据的事件。我在 Xamarin 中缺少类似 KeyPress 的东西。 有人有解决办法吗?
【问题讨论】:
标签: c# xamarin.android xamarin.forms onkeypress
目前我正在为 Android 开发 PCL Xamarin Forms。我现在正在处理一个通过 Text_Changed 事件捕获扫描数据的条目。我想知道是否可以在内容页面上处理此扫描数据的事件。我在 Xamarin 中缺少类似 KeyPress 的东西。 有人有解决办法吗?
【问题讨论】:
标签: c# xamarin.android xamarin.forms onkeypress
您可以使用 CustomEntry。
在表单中添加一个新类:
public class CustomEntry : Entry
{
public Action DonePressed = delegate {};
}
在您的 Android 项目中,添加 CustomEntryRenderer:
class CustomEntryRenderer : EntryRenderer
{
private CustomEntry customEntry;
protected override void OnElementChanged (ElementChangedEventArgs<Entry> e)
{
base.OnElementChanged (e);
if (Control != null)
{
Control.ImeOptions = ImeAction.Done;
Control.EditorAction += (sender, args) => {
if (args.ActionId == ImeAction.Done) {
var entry = (CustomEntry)Element;
entry.DonePressed();
}
};
}
【讨论】: