private void cboWebsites_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
...
object url = CollectTools.ToListUrl(cboNavigation.SelectedValue.ToString(), page);
Thread getMovie = new Thread(GetMovies);
getMovie.Start(url);
}
//多线程获取数据
delegate void DELBindListView(List<Movie> movies);
private void GetMovies(object url)
{
List<Movie> movies;
if (url is object[])
{
object[] objs = url as object[];
movies = website.CollectSearchPage(objs[0].ToString(), objs[1], objs[2]);
}
else
{
movies = website.CollectListPage(url.ToString());
}
if (!this.Dispatcher.CheckAccess())
{
this.Dispatcher.Invoke(new DELBindListView(BindListView),movies);
}
else
{
BindListView(movies);
}
}
//绑定控件
private void BindListView(List<Movie> movies)
{
MList = movies;
listViewMovies.ItemsSource = MList;
...
}