В моем приложении WP7 есть страница с категориями каналов и страница с элементами каналов. На странице feeditems я реализовал веб-клиента. Когда пользователь переходит к выбранному каналу, элементы отображаются в списке страниц каналов новостей очень хорошо. Хотя странная вещь происходит, когда пользователь нажимает кнопку «Назад» и снова переходит к тому же каналу. В этом случае listbox имеет старые значения, но веб-клиент перезагружает те же (новые) значения, что и под старыми. Итак, я дублировал контент в списке. Как я могу предотвратить это? Я хотел бы иметь старые значения, чтобы сохранить использование некоторых данных, но также у меня есть возможность обновить список с новыми значениями (с помощью кнопки панели). Чего мне не хватает;
public FeedPage()
{
InitializeComponent();
this.Loaded += new RoutedEventHandler(FeedPage_Loaded);
LoadFeed();
}
private void LoadFeed()
{
FrameworkElement root = Application.Current.RootVisual as FrameworkElement;
var currentFeed = root.DataContext as FeedViewModel;
WebClient client = new WebClient();
performanceProgressBar.IsIndeterminate = true;
performanceProgressBar.Visibility = System.Windows.Visibility.Visible;
client.DownloadStringCompleted += new DownloadStringCompletedEventHandler(client_DownloadStringCompleted);
client.DownloadStringAsync(new Uri(currentFeed.FeedUrl));
_selectedFeed = currentFeed;
}
void client_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
{
//fetching the values
}
private void FeedPage_Loaded(object sender, RoutedEventArgs e)
{
if (!App.ViewModel.IsDataLoaded)
{
App.ViewModel.LoadData();
}
this.DataContext = _selectedFeed;
}