Benutzer mit den meisten Antworten
Exception beim Zugriff auf UI-Element

Frage
-
Wie kann ich auf image1 zugreifen?
Fehlermeldung:
Eine Schnittstelle, die für einen anderen Thread marshalled war, wurde von der Anwendung aufgerufen. (Exception from HRESULT: 0x8001010E (RPC_E_WRONG_THREAD))
Code:
public MainPage()
{
this.InitializeComponent();
int period = 100;
ThreadPoolTimer PeriodicTimer = ThreadPoolTimer.CreatePeriodicTimer(ExampleTimerElapsedHandler, TimeSpan.FromMilliseconds(period));
}
private void ExampleTimerElapsedHandler(ThreadPoolTimer timer)
{
image1.Width *= 1.002;
}
- Bearbeitet hth26 Donnerstag, 20. August 2015 13:11
Antworten
-
Hallo,
die Meldung kommt mir bekannt vor.
Bei mir lag es daran dass ich versucht habe Änderungen an Objekten der UI (z.B. Image) vorzunehmen, aber meine Funktion die die Änderung vornehmen sollte, nicht im selben Thread wie die UI läuft.
D.h. man muss die Funktion über den CoreDispatcher der UI ausführen.
Siehe z.B. Dispatcher vom aktuellen UI-Thread ermitteln
Ich hoffe hiermit einen Anstoß zur Lösung gegeben zu haben.
- Als Antwort vorgeschlagen Aleksander Chalabashiev Donnerstag, 3. September 2015 06:54
- Als Antwort markiert Aleksander Chalabashiev Montag, 7. September 2015 08:03
Alle Antworten
-
Hallo,
die Meldung kommt mir bekannt vor.
Bei mir lag es daran dass ich versucht habe Änderungen an Objekten der UI (z.B. Image) vorzunehmen, aber meine Funktion die die Änderung vornehmen sollte, nicht im selben Thread wie die UI läuft.
D.h. man muss die Funktion über den CoreDispatcher der UI ausführen.
Siehe z.B. Dispatcher vom aktuellen UI-Thread ermitteln
Ich hoffe hiermit einen Anstoß zur Lösung gegeben zu haben.
- Als Antwort vorgeschlagen Aleksander Chalabashiev Donnerstag, 3. September 2015 06:54
- Als Antwort markiert Aleksander Chalabashiev Montag, 7. September 2015 08:03