我有一個ObservationVebleColection綁定到listView。基本上,這個集合必須跟上服務器的每一個變化,並以字符串格式接收更新。添加獨特的元素並自動更新C中的ObservableCollection#
我的代碼解析字符串並將元素添加到集合中,但我無法找到刪除元素的方法。如何在服務器上刪除或更改元素時更新集合?
這裏是我的代碼:
public static ObservableCollection<TransactionDetails> offerList = new ObservableCollection<TransactionDetails>();
public async static Task<ObservableCollection<TransactionDetails>> getOfferList()
{
// Start getting Offers
string Offer = await BedpAPI_V1.getOfferList();
string[] splitedResponse = Offer.Split(new[] { "@@@@" }, StringSplitOptions.RemoveEmptyEntries);
foreach (string response in splitedResponse) {
string[] splitedMessage = response.Split(new[] { "|" }, StringSplitOptions.RemoveEmptyEntries);
offer.TransactionID = Convert.ToInt32(splitedMessage[0]);
offer.Seller = splitedMessage[1];
offer.Cost = Convert.ToDouble(splitedMessage[2]);
offer.Duration = Convert.ToInt16(splitedMessage[3]);
offer.Delay = Convert.ToInt16(splitedMessage[4]);
offer.Capacity = Convert.ToDouble(splitedMessage[5]);
offer.Availability = Convert.ToDouble(splitedMessage[6]);
if (currentOffer <= offer.TransactionID)
{
offerList.Add(new TransactionDetails() { TransactionID = offer.TransactionID, Seller = offer.Seller, Cost = offer.Cost, Duration = offer.Duration, Delay = offer.Delay, Capacity = offer.Capacity, Availability = offer.Availability });
currentOffer++;
}
}
return offerList;
}
@mjwills我認爲這是明確:「在服務器上刪除或更改元素時,如何更新集合?」 –
你的代碼現在做了什麼@DiogoCosta?例如,它是否會拋出異常? **它怎麼樣?** – mjwills
因爲它是代碼做它應該(即它解析字符串並添加元素到集合)。我無法找到一種方法來使用我用來添加它們的相同邏輯來移除或更改當前元素。 –