저는 Windows Phone 7 용 트위터 응용 프로그램을 개발 중이며 프로토 타이핑을하고 있습니다. 응용 프로그램에서 일부 개체를 minipulating 때 문제가 발생했습니다. 아래 코드는 단지 멈 춥니 다 (아무 것도 이동하지 않고 검색이 업데이트되지 않습니다). Dispatcher.BeginInvoke(new ThreadStart (doProgressBar));
나는 배경 작업자 스레드를 사용하여 doProgressBar()
을 실행했지만 동일한 효과를 보았습니다. 쇼에 breakpoint를 쓰면 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 툴킷의 일반 진행률 표시 줄이나 성능 진행률 표시 줄을 사용합니까? 트위터 서비스 란 무엇입니까? 집에서 만든 라이브러리 또는 기존 라이브러리? –
다음은 진행률 표시 줄에 대한 xaml입니다. . Twitterservice는 tweetsharp 라이브러리의 것입니다. 진행률 표시 줄 업데이트 없이는 제대로 작동합니다. –