C# 我如何创建两个部分来集中精力,另一个部分来写作?
我用这段代码来关注一个条目,它是一个custon条目C# 我如何创建两个部分来集中精力,另一个部分来写作?,c#,xaml,xamarin.forms,C#,Xaml,Xamarin.forms,我用这段代码来关注一个条目,它是一个custon条目 受保护的覆盖无效OnElementPropertyChanged(对象发送方,PropertyChangedEventArgs e) { base.OnElementPropertyChanged(发送方,e); if(e.PropertyName==Entry.IsFocusedProperty.PropertyName) { //位置1.此代码用于聚焦 } //位置2.在此处输入用户写入时的文本 } 我如何知道用户是否正在写?但不要同时
受保护的覆盖无效OnElementPropertyChanged(对象发送方,PropertyChangedEventArgs e)
{
base.OnElementPropertyChanged(发送方,e);
if(e.PropertyName==Entry.IsFocusedProperty.PropertyName)
{
//位置1.此代码用于聚焦
}
//位置2.在此处输入用户写入时的文本
}
我如何知道用户是否正在写?但不要同时输入两个位置。选项1:您可以设置TextProperty以检查用户编辑
protected override void OnElementPropertyChanged(object sender, PropertyChangedEventArgs e)
{
base.OnElementPropertyChanged(sender, e);
if (e.PropertyName == Entry.IsFocusedProperty.PropertyName)
{
//place1. this code is use to focus
}
if (e.PropertyName == Entry.TextProperty.PropertyName)
{
//place2. this code is use to edit
var content = Element.Text;
}
}
选项2:
您可以设置条目的TextChanged
protected override void OnElementChanged(ElementChangedEventArgs<Entry> e)
{
base.OnElementChanged(e);
if(Control!=null)
{
Element.TextChanged += Element_TextChanged;
}
}
private void Element_TextChanged(object sender, TextChangedEventArgs e)
{
// var content = Element.Text;
}
protected override void OnElementChanged(ElementChangedEventArgs e)
{
基础。一个要素发生变化(e);
if(控件!=null)
{
Element.TextChanged+=元素_TextChanged;
}
}
私有void元素_TextChanged(对象发送方,textchangedventargs e)
{
//var content=Element.Text;
}
@Jason帮帮我好吗?你能发布你的自定义控件吗?你可以在构造函数中或在方法OnElementChanged
中定义它们。如果你想获得更多的输入事件,你可以检查元素的源代码。@asdww你已经分配了赏金并将这个问题标记为Answered@LucasZhang-请帮帮我具有