簡體   English   中英

每次按下按鈕時如何添加條目

[英]How to add entries every time a button is pressed

我正在使用 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; 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM