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:
Nun meine Frage gibt es eine andere möglichkeit in WPF timer zu erstelen bzw. wie kann ich diesen fehler umgehen.
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
- Private Sub Window1_Loaded(ByVal sender As Object, ByVal e As System.Windows.RoutedEventArgs) Handles Me.Loaded
- Dim sc As New ImageSourceConverter
- img.Source = sc.ConvertFrom("C:\Dokumente und Einstellungen\Jan\Eigene Dateien\SDMI\herunterfahren.ico")
- Xtimer.Interval = 200
- Xtimer.Enabled = True
- Xtimer.Start()
- End Sub
- Private Sub Xtimer_Elapsed(ByVal sender As Object, ByVal e As System.Timers.ElapsedEventArgs) Handles Xtimer.Elapsed
- ofx = (0.5 / 60) * Now.Second
- rgb.GradientStops.Clear()
- rgb.GradientStops.Add(New GradientStop(Colors.Red, ofx + 0.49))
- rgb.GradientStops.Add(New GradientStop(Colors.Green, ofx + 0.5))
- Ellipse.Fill = rgb
- End Sub
Nun meine Frage gibt es eine andere möglichkeit in WPF timer zu erstelen bzw. wie kann ich diesen fehler umgehen.