在WP8数据绑定中无法刷新长列表选择器

本文关键字:刷新 列表 选择器 WP8 数据绑定 | 更新日期: 2023-09-27 18:09:00

我有一些麻烦与LongListSelector的数据绑定。当我最初运行这个方法时,它工作了。数据已绑定,一切都很好。

问题是当我按下刷新按钮时,我的应用程序获取一个新的JSON提要,解析它并尝试绑定它。我的应用程序似乎下载JSON和东西,但不刷新UI。我哪里做错了?

我试过BoardLongList.ItemsSource = null;BoardLongList.ItemsSource.Clear();,但没有效果。

任何想法?这个项目来自newtonsoft。

提前感谢!

private void Bind(JObject rootObject)
{
    string rootObjectString = rootObject.ToString();                   
    RootObject obj = JsonConvert.DeserializeObject<RootObject>(rootObjectString);
    // Bind to LongListSelector
    BoardLongList.ItemsSource = obj.Movements;
}
我的XAML

:

<phone:LongListSelector Grid.Row="1" x:Name="BoardLongList" Margin="0,0,-12,1" ItemsSource="{Binding Movement}">
    <phone:LongListSelector.ItemTemplate >
        <DataTemplate>
            <StackPanel Orientation="Horizontal" Margin="2" Height="50">
                <Grid>
                    <Grid.ColumnDefinitions>
                         <ColumnDefinition Width="80" />
                         <ColumnDefinition Width="200" />
                         <ColumnDefinition Width="100" />
                         <ColumnDefinition Width="120" />
                     </Grid.ColumnDefinitions>
                     <TextBlock Grid.Column="0"  Text="{Binding A1}" />
                     <TextBlock Grid.Column="1"  Text="{Binding A2}" />
                     <TextBlock Grid.Column="2"  Text="{Binding A3}" />
                     <TextBlock Grid.Column="3"  Text="{Binding A4}" />
                 </Grid>
             </StackPanel>
         </DataTemplate>
     </phone:LongListSelector.ItemTemplate>
</phone:LongListSelector>

在WP8数据绑定中无法刷新长列表选择器

ItemsSource是否为ObservableCollection?ObservableCollection是带有通知的集合,当集合中的某些内容发生更改时,它会通知UI。

obj。ObservableCollection

你试过拉刷新功能了吗?

看看这个!

您可以通过itemrealize事件和使用listtheader(或从底部拉出的ListFooter)来完成此操作。在itemrealize事件中,您可以检查该项目是否是头部对象。如果是,则加载更多条目。

希望能有所帮助。

我终于想通了。这是因为c# web缓存我的请求。不是因为我的数据绑定!