System.UnauthorizedAccessException: Invalid cross-thread access beim Update der ListPicker in WP8

Ich Baue einfach WP8-Anwendung. Ich werde versuchen, ein update ListPicker Kontrolle mit einer Kollektion, die ein Mitglied einer anderen Klasse. Diese Klasse erhält diese Daten mit einem asynchronen Aufruf. Wenn die Antwort empfangen wird, löst ein Ereignis auf der MainPage, dass Aktualisierungen der ListPicker.

    public void coinUtil_ReceivedPriceEvent(object sender, EventArgs e)
    {
        PopulateListPicker();
    }

    public void PopulateListPicker()
    {

        try
        {
            foreach (KeyValuePair<string, double> item in coinUtil.cointPriceList)
            {

                listPickerCurrencies.Items.Add(item.Key);
            }
        }
        catch (UnauthorizedAccessException ex)
        {
            System.Diagnostics.Debug.WriteLine(ex.ToString());
        }

    }

Ich bin immer folgende exception:

Erste chance Ausnahme des Typs " System.UnauthorizedAccessException'
aufgetreten in System.Windows.ni.dll

Eine Ausnahme des Typs " System.UnauthorizedAccessException " ist in
System.Windows.ni.dll und war nicht behandelt, bevor eine managed/native
Grenze System.UnauthorizedAccessException: Invalid cross-thread
- Zugang. bei MS. Internal.XcpImports.CheckThread() bei
System.Windows.DependencyObject.GetValueInternal(DependencyProperty
dp) an
System.Windows.FrameworkElement.GetValueInternal(DependencyProperty
dp) bei System.Windows.Controls.ItemsControl.get_Items() bei
BitCoinTail.MainPage.PopulateListPicker()

Seltsam, wenn ich versuche, auf ein weiteres Mitglied dieser Klasse mit einem einfachen string funktioniert es einwandfrei. Ich war die Entwicklung ein wenig in WP7 aber nicht erinnern, jemals diese Ausnahme. Kann jemand sehen, was ich falsch mache?

  • Ich glaube, Sie brauchen, um zu verwenden ein Dispatcher, um sicherzustellen, dass die UI-Aktualisierung im UI-thread.
InformationsquelleAutor Booyaches | 2013-02-26
Schreibe einen Kommentar