微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Xamarin 表单条目

如何解决Xamarin 表单条目

如何查找条目已更改?

<Entry x:Name="one" Keyboard="Numeric" TextChanged="Entry_TextChanged" />
<Entry x:Name="two" Keyboard="Numeric" TextChanged="Entry_TextChanged" />
<Entry x:Name="tre" Keyboard="Numeric" TextChanged="Entry_TextChanged" />

private void Entry_TextChanged(object sender,TextChangedEventArgs e)
{
    //which entry's value has changed (x:Name)
}

有什么办法可以查到吗?

解决方法

当然,但我想知道哪个条目被更改了。一两三

您不能访问 xaml 元素的 x:Name 属性,因为这只是编译器命名变量的提示。

您可以设置条目的 ClassId,以便您可以在处理程序中检索它。像这样:

 <Entry
            x:Name="one"
            ClassId="entry1"
            Keyboard="Numeric"
            TextChanged="Entry_TextChanged" />
        <Entry
            x:Name="two"
            ClassId="entry2"
            Keyboard="Numeric"
            TextChanged="Entry_TextChanged" />
        <Entry
            x:Name="tre"
            ClassId="entry3"
            Keyboard="Numeric"
            TextChanged="Entry_TextChanged" />

 private void Entry_TextChanged(object sender,TextChangedEventArgs e)
    {
        var entry = (Entry)sender;
        if(entry.ClassId==one.ClassId)
        {
            Console.WriteLine("you are in one entry");
        }
        else if(entry.ClassId==two.ClassId)
        {
            Console.WriteLine("you are in two entry");
        }
        else
        {
            Console.WriteLine("you are in three entry");
        }
        
    }
,

检查发件人!

private void Entry_TextChanged(object sender,TextChangedEventArgs e)
{
    //which entry's value has changed (x:Name)
    Entry theTextBox = (Entry)sender;
    Console.WriteLine(theTextBox.Name) + " changed the value");
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。