繁体   English   中英

WP8数据绑定中的无法刷新longlistselector

[英]Cant refresh longlistselector in WP8 Databinding

我在将数据绑定到LongListSelector时遇到麻烦。 当我最初运行此方法时,它可以工作。 数据已绑定,一切都很好。

问题是当我按下刷新按钮时,我的应用会获取一个新的JSON feed,对其进行解析并尝试将其绑定。 我的应用似乎下载了JSON和其他内容,但没有刷新UI。 我哪里出问题了?

我试过BoardLongList.ItemsSource = null; BoardLongList.ItemsSource.Clear(); 无济于事。

有任何想法吗? JObject来自newtonsoft.json,而RootObject来自ViewModels.RootObject。

提前致谢!

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>

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

将obj.Movements设为ObservableCollection

您尝试过拉动刷新功能吗?

看看这个

您可以使用ItemRealized事件并使用ListHeader (或ListFooter从底部拉出)来完成此操作。 在ItemRealized事件中,您检查项目是否为标题对象。 如果是,则加载更多项目。

希望能帮助到你。

我终于弄明白了。 这是因为C#Web缓存了我的请求。 不是因为我的数据绑定!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM