我正在開發Windows Phone 7的twitter應用程序,並且一直在做一些原型設計。在應用程序中縮小某些對象時遇到了問題。下面的代碼只是掛起(沒有動作,搜索不會更新),除非我註釋掉Dispatcher.BeginInvoke(new ThreadStart (doProgressBar));
我也嘗試使用後臺工作線程運行doProgressBar()
,但效果相同。堅持一個斷點表明它確實擊中了doProgressBar()
,這似乎是正常工作。Windows Phone 7線程問題
任何幫助我瞭解什麼是錯的將不勝感激。我不明白爲什麼我至少看不到進度條更新。我也很困惑爲什麼主線程在另一個線程中運行時會掛起。可能有一些關於我需要了解的移動應用程序中的線程?
public MainPage()
{
InitializeComponent();
}
private void ProcessIncommingSearch(TwitterSearchResult searchResult, TwitterResponse response)
{
if (response.StatusCode == HttpStatusCode.OK)
{
foreach (var status in searchResult.Statuses)
{
TwitterStatus inline = status;
Tweet tweet = new Tweet(inline);
Dispatcher.BeginInvoke(() => lboxTweets.Items.Add(tweet));
}
}
}
private void image1_ManipulationStarted(object sender, ManipulationStartedEventArgs e)
{
Dispatcher.BeginInvoke(() => lboxTweets.Items.Clear());
Dispatcher.BeginInvoke(new ThreadStart (doProgressBar));
TwitterService ts = GlobalVariables.Service();
ts.Search(txtSearch.Text, ProcessIncommingSearch);
}
private void doProgressBar()
{
while (progressBar1.Value <= 100)
{
progressBar1.Value += 1;
}
}
private void txtSearch_GotFocus(object sender, RoutedEventArgs e)
{
txtSearch.Text = "";
}
private void txtPage_ManipulationStarted(object sender, ManipulationStartedEventArgs e)
{
throw new NotImplementedException();
}
您是否使用silverlight工具包中的常規進度條或性能進度條?它是什麼TwitterService?自制或現有的圖書館? – 2011-03-12 12:27:50
這裏是進度條的xaml 。 Twitterservice來自tweetsharp庫。它工作正常,沒有進度條更新。 –
2011-03-12 17:23:20