[英]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.