如何在每次按下按钮时添加条目

  • 本文关键字:按钮 添加 c# xamarin.forms
  • 更新时间 :
  • 英文 :


我正在使用Xamarin Forms制作一个移动应用程序,我正在编写我所有的代码,包括c#中的视觉方面(在.cs文件中)。从本质上讲,我需要能够在每次按下按钮时添加一个新条目,然后将文本输入到该条目中。

现在我可以创建一个新的条目,并给它一个名字,我可以用它来引用它:

private Entry entry1;
Layout.Children.Add(entry1 = new Entry
{
//entry code
});
//when some button is pressed
string entry1Text = entry1.Text;

我想让它,以便每次用户按下一个按钮,它创建一个新的条目,但我也需要能够从中获得文本。我怎么能让它创建一个新的条目与新的名称,如entry2, entry3,等等…不用手动写10个条目,然后让它们可见?我需要这样做,因为我不知道用户将添加多少条目(可能超过10个)。

int numberOfEntries = 1;
void addEntry_Clicked(object sender, EventArgs e)
{
string entryNumber = numberOfEntries.ToString();
//the following 2 lines are what doesn't work with the name of an entry, but is what I want to do
private Entry entry + entryNumber;
Layout.Children.Add(entry + entryNumber = new Entry
{
//entry code
});
numberOfEntries+=1;
}
//some button is pressed
string entryText = (entry + entryNumber).Text;

问题是我不能在条目的名称中添加数字,比如entry +"2"这对我来说可能吗?

你需要保持一个单独的数据结构来跟踪你的控件,像这样

Dictionary<string,Entry> entries = new Dictionary<string,Entry>();
private void AddEntry(string name)
{
var entry = new Entry();
myLayout.Children.Add(entry);
entries.Add(name,entry);
}

那么你可以像这样得到它们的值

var text = entries["entryA"].Text; 

最新更新