我正在寫一個Windows Phone 8.1 App。它得到JSON從服務器和反序列化 it和將它存儲到列表。我有ListView綁定到此列表。現在,如果新項目添加到列表中,ListView不會更新。所以,我試圖將此列表轉換爲ObservableCollection。但是我對互聯網上的示例和教程感到困惑。List To ObservableCollection
XAML:
<DataTemplate
x:Key="StandardProductsItemTemplate">
<Grid >
<StackPanel
Orientation="Vertical">
<Image
Source="{Binding ProductImage}"
x:Name="ImageDisplay"/>
<TextBlock
Text="{Binding ProductName}"/>
</StackPanel>
</Grid>
</DataTemplate>
C#:
List<Product> ProductsObject = new List<Product>();
for (int i = 0; i < GetProductByCategoryResultObject.Products.Count; i++)
{
ProductsObject.Add(GetProductByCategoryResultObject.Products[i]);
}
ProductListView.ItemsSource = ProductsObject;
現在,我想用的ObservableCollection,而不是的列表的ListView控件保持更新。請幫助
怎麼樣這種方法,他們使用互聯網的樣本: –
私人的ObservableCollection timeStepDataCollection; 公衆的ObservableCollection TimeStepDataCollection_Method { 得到 { 如果(timeStepDataCollection == NULL){ timeStepDataCollection =新的ObservableCollection (); } return timeStepDataCollection; } set { timeStepDataCollection = value; } } –
你不需要創建一個可觀察集合的私有變量,並設置它的getter和setter方法,你可以直接通過在你的情況下初始化來使用它。你只需要創建一個Observable集合並將它傳遞給列表視圖,如果你希望那個集合在其他地方使用,那麼就創建一個全局變量。 – Vyas