我对Xamarin.Forms.EntryCell有问题。我想知道如果EntryCell
的文本已更改时如何触发事件。不是事件“已完成”,它只是在输入任何内容后按 Enter 时触发的。
<EntryCell
Label="User Id"
x:Name="UserIdEntryCell"
HorizontalTextAlignment="End"
Completed="UserIdCompleted"/>
答案 0 :(得分:0)
很显然,更改文本(see the docs)时不会触发任何事件。无论如何,这并不意味着您无法通过Text
属性来实现所需的目标。由于您使用的是事件,因此我不认为您使用的是MVVM(不过,您确实应该尝试一下),因此,我们必须创建一个属性,将EntryCell.Text
绑定到您的视图中(是假设一个视图,但是对于一个页面来说,它会非常相似)
在后面的代码中添加一个属性Text
,该属性会从其设置程序中调用HandleTextChanged
:
class MyView : ContentView
{
string _text;
public string Text
{
get => _text;
set
{
_text = value;
HandleTextChanged();
}
}
private void HandleTextChange()
{
// do whatever you need to do
}
}
您可以将此属性从XAML绑定到EntryCell.Text
现在MyView.Text
的每次更改都会设置EntryCell
。