【发布时间】:2015-05-12 19:57:14
【问题描述】:
我在 Startpage.xaml 上创建了一个带有列表视图的 Windows phone 8.1 应用程序。当我更新 listview 值时,在我关闭并再次打开应用程序之前,我看不到手机上的更改。单击刷新按钮时,我尝试更新列表视图,但未成功。有谁知道当我点击刷新按钮时如何更新列表视图?
我如何在列表视图中填写数据:
protected async override void OnNavigatedTo(NavigationEventArgs e)
{
this.navigationHelper.OnNavigatedTo(e);
HttpClient http = new HttpClient();
string str = ((ComboBoxItem)cbox.SelectedItem).Content.ToString();
var response = await http.GetStringAsync("http://mywebpage.si/events/apis/facebook_events.php?city=" + str + "&user=" + uporabnik.user);
var FSfeed = JsonConvert.DeserializeObject<List<Class1>>(response);
Reviews.ItemsSource = FSfeed;
}
我的班级:
public class Class1
{
public string title { get; set; }
public string description { get; set; }
public string image { get; set; }
public string start { get; set; }
public string end { get; set; }
public string location { get; set; }
public string city { get; set; }
public int id { get; set; }
}
刷新按钮:
private async void refresh_Click(object sender, RoutedEventArgs e)
{
HttpClient http = new HttpClient();
string str = ((ComboBoxItem)cbox.SelectedItem).Content.ToString();
var response = await http.GetStringAsync("http://mywebpage.si/events/apis/facebook_events.php?city=" + str + "&user=" + uporabnik.user);
var FSfeed = JsonConvert.DeserializeObject<List<Class1>>(response);
Reviews.ItemsSource = FSfeed;
}
我也尝试过这样刷新,但不成功:
private async void refresh_Click(object sender, RoutedEventArgs e)
{
this.Frame.Navigate(typeof(PivotPage));
}
【问题讨论】:
-
ListView 是否第一次正确填充项目?也许这是 http.GetStringAsync 中 cached 响应的问题 - 在这种情况下,它将被刷新,但数据相同。
-
您是否尝试过调试并检查单击刷新时是否收到了不同的数据集?
-
您是否尝试过将列表视图切换为可观察的集合。模型视图视图模型设计模式可能是一种有用的方法。
标签: c# visual-studio listview windows-phone-8.1