首页 > 解决方案 > 如何让 Xamarin 表单中的数字条目等到用户完成输入数字

问题描述

我在 Xamarin Forms 中有一个 NumericEntry,例如想要检查一个数字是否等于 50,但是当用户开始输入 50 时,他们首先输入“5”,但随后立即出错,因为 5 != 50明显地。我如何使用户可以输入完整的数字,但是一旦他们点击离开输入/按键盘上的输入,然后我们检查数字是否等于 50?

具体来说,我正在寻找可以使事情变得更容易的是一个关键字,该关键字表示该条目不再“突出显示”,这意味着用户单击键盘上的输入,或者从屏幕上某处的条目上轻敲。有没有类似的东西存在?

现在,我正在处理的代码有两个函数,一个 UpdateText 和一个 OnTextChanged,每次文本更改(在我的示例中输入 5)时,UpdateText 都会立即被调用,但我想设置一个条件:检查用户是否在 UpdateText 被调用之前完成。

谢谢!

编辑:我发现了一个叫做“IsFocused”的东西,这是使用它的正确方法吗?

IsFocused="{Binding EntrySelected}" 

将在我的 XAML 文件和我的 C# 文件中,`public bool UserFinished;

    public bool EntrySelected
    {
        get
        {
            return UserFinished;
        }
        set
        {
            UserFinished = value;
        }
    } 

if(EntrySelected){在我的函数中使用?

标签: xamarin.forms

解决方案


使用Completed事件。您还可以使用属性自定义Return键的外观ReturnType

<Entry Completed="Entry_Completed" ReturnType="Send" />


void Entry_Completed (object sender, EventArgs e)
{
    var text = ((Entry)sender).Text; //cast sender to access the properties of the Entry
}

推荐阅读