1
Как получить доступ к потоку пользовательского интерфейса приложения WP7?
Я использую следующий код, если это помогает.WP7 - доступ к потоку пользовательского интерфейса?
private void LayoutRoot_Loaded(object sender, RoutedEventArgs e)
{
AcquireNews(l => { listBox1.Items.Add(l[0]); });
// Here is where I get an exception saying "Invalid cross-thread access."
}
void AcquireNews(Action<List<object>> callback)
{
var r = HttpWebRequest.Create("http://www.google.com") as HttpWebRequest;
r.BeginGetResponse(result =>
{
var response = r.EndGetResponse(result);
List<object> l = new List<object>();
var s = response.GetResponseStream();
var buffer = new byte[s.Length];
s.Read(buffer, 0, (int)s.Length);
l.Add(System.Text.Encoding.UTF8.GetString(buffer, 0, buffer.Length));
callback(l);
},
null);
}
Большое вам спасибо! Это, наконец, работает! : D – Vercas
yw :) ../15char –
Спасибо за это решение :) Не забудьте использовать Deployment.Current.Dispatcher.BeginInvoke , а не System.Threading (как и я) :) –