WPF - Timer Thread verletzung

  • VB.NET

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von jvbsl.

    WPF - Timer Thread verletzung

    Hallo,

    ich wollte letztens in WPF einen Timer erstellen. Da es in der toolbox ja keinen gibt hab ich ihn per code erstellt. (funktioniert auch soweit)
    Nur will ich jetzt die "Fill" eigenschaft einer ellipse über den timer ändern kommt diese fehlermeldung:

    Der aufrufende Thread kann nicht auf dieses Objekt zugreifen, da sich das Objekt im Besitz eines anderen Threads befindet.

    Hier mal mein Code:

    VB.NET-Quellcode

    1. Private Sub Window1_Loaded(ByVal sender As Object, ByVal e As System.Windows.RoutedEventArgs) Handles Me.Loaded
    2. Dim sc As New ImageSourceConverter
    3. img.Source = sc.ConvertFrom("C:\Dokumente und Einstellungen\Jan\Eigene Dateien\SDMI\herunterfahren.ico")
    4. Xtimer.Interval = 200
    5. Xtimer.Enabled = True
    6. Xtimer.Start()
    7. End Sub
    8. Private Sub Xtimer_Elapsed(ByVal sender As Object, ByVal e As System.Timers.ElapsedEventArgs) Handles Xtimer.Elapsed
    9. ofx = (0.5 / 60) * Now.Second
    10. rgb.GradientStops.Clear()
    11. rgb.GradientStops.Add(New GradientStop(Colors.Red, ofx + 0.49))
    12. rgb.GradientStops.Add(New GradientStop(Colors.Green, ofx + 0.5))
    13. Ellipse.Fill = rgb
    14. End Sub


    Nun meine Frage gibt es eine andere möglichkeit in WPF timer zu erstelen bzw. wie kann ich diesen fehler umgehen.