Cletus Geschrieben 10. November 2008 Teilen Geschrieben 10. November 2008 Hallo, ich stehe gerade vor einem Problem, bei dem mich sämtliche Recherchen einfach nicht weitergebracht haben. Ich soll eine simple analoge Uhr mit WPF und seinen Grafikfunktionen zeichnen. An und für sich kein Problem, ich erstell mir nen Kreis, 2 Linienobjekte, berechne die Winkel der Zeiger und transformiere diese dann in die richtige Position. Damit diese angezeigt werden benutze ich den Children.Add() befehl mit meinen 2 Zeigerlinien. Somit wäre du Uhr grundsätzlich schonmal gezeichnet. Wie kann ich diese Linien jetzt aber verändern, sodass die Uhr sich jede Minute aktuallisiert und die Zeiger weiterspringen? Ich würde mit einem Timer auf eine Methode zugreifen, die die Zeichnung aktuallisiert. Mit GDI+ würde man jetzt ja einfach neuzeichnen... Leider kann ich meine Elemente nicht mit Children[index] einfach überschreiben. Problem ist also vorhandene grafische Elemente auf Codeebene nachträglich zu verändern. Danke schonmal Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Cletus Geschrieben 10. November 2008 Autor Teilen Geschrieben 10. November 2008 So Problem ist mittlerweile gelöst. Lösung aus einem anderen Forum: Dank WPF brauchst du die Linien nicht per Code verändern. Du kannst jeden Linienzeiger per Binding an DateTime.Now hängen und evtl. mit einen Converter die Sekundenzahl in den Winkel umrechnen. Für genauere Infos wäre ein Codebeispiel hilfreich. Wenn du ohne Binding vorgehen willst kannst du einfach eine Referenz auf deine Uhrzeiger speichern Bsp: <Line x:Name="sekundenzeiger".../> und anschließend im Code verändern: sekundenzeiger.Eigenschaft = Wert; Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.