2017-02-27 74 views
0

我正在開發一個聯繫簿應用程序,其中我有一個添加按鈕的列表視圖。點擊添加按鈕後,它將用戶重定向到一個模態頁面,詢問它的名稱,電子郵件ID,機構。所有這些細節都保存在ContactDetails類中。點擊模式頁面上的完成按鈕,我想在我的列表視圖中顯示內容。如何動態更新基於類的值的列表視圖

關於如何成功實現這一點的任何建議。

代碼我目前的工作如下: ContactDetails.cs

public class ContactDetails 
{ 
    public string Name { get; set; } 
    public string Inst { get; set; } 
    public string EmailId { get; set;} 
    public int Mob { get; set;} 
} 

ContactDetailsModalPage.xaml.cs

public partial class ContactDetailsModalPage: ContentPage 
{ 
    CandidateDetails cd = new CandidateDetails(); 
    async void OnDoneClicked(object sender, System.EventArgs e) 
    { 
     cd.Name = (string)candNameEntry.Text; 
     cd.Inst = (string)candInst.Text; 
     cd.EmailId = (string)candEmailId.Text; 
     cd.Mob = Convert.ToInt32(candMobNumber.Text); 

     List<ContactDetails> candList = new List<ContactDetails>(); 
     candList.Add(cd); 

     await Navigation.PopModalAsync(); 

    } 


    public CandidateDetailsModalPage() 
    { 
     InitializeComponent(); 

    } 
} 

我無法理解,以我應該提供的itemsource爲我的列表視圖,以便它可以通過模態頁面動態顯示存儲在ContactDetails類中的值。

+0

在Xamarin Forms中,任何分配給'[ListView]'的屬性即'candList'都會自動偵聽這些更改並更新視圖! – Smit

回答

1

您需要使用ObservableCollection而不是List。 ObservableCollection會通知任何數據綁定元素的變化。

1

恐怕你給我們的信息太少了。

  1. 您使用的是MVVM模式嗎?如果不是:您需要參考ListView並添加一個新的Cell。如果是:請發佈您的ViewModel持有綁定ContactDetails列表。
  2. 就像@Jason說的,如果有一個ContactDetails的列表綁定到ListViewItemsSource - 它需要是ObservableCollection<ContactDetails>。你在ClickHandler中所做的一切就是獲得對該列表的引用並添加/插入新項目。