簡體   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