我正在写一个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