Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
UserControl mit Property für Farbwechsel
d.gierse
myCSharp.de - Member



Dabei seit:
Beiträge: 116

Themenstarter:

UserControl mit Property für Farbwechsel

beantworten | zitieren | melden

Hallo,

ich bin dabei ein UserControl zu erstellen, das bei Eintreten eines bestimmten Ereignisses die Farbe einer seiner Flächen ändert. Diese Farbe ist defaultmäßig z.B. Grün. Der Benutzer soll aber zur Designzeit (nicht zur Laufzeit!!) über eine Property angeben können, welche Farbe das ist.
Das Control wird Teil einer Libary, die in mehreren anderen Projekten verwendet werden kann.

Den Farbwechsel mache ich momentan mit dem VisualStateManager (weil das Control auch in Silverlight verwendet wird) und einer ColorAnimation. Im VisualStateManager kann ich aber keine DependencyPropertys für die Zielfarbe binden, da die Objekte unveränderlich sein müssen.

Jetzt habe ich 2 Ideen, die mich aber noch nicht ganz zufrieden stellen:
1) Ich definiere im XAML die farbigen Flächen doppelt und binde die Farbe der hinteren Fläche an meine Property. Im VisualStateManager animiere ich dann die Opacity des vorderen Elements. Geht, aber ist unschön, weil alle grafischen Elemente doppelt definiert werden müssen.

2) Ich baue jedes mal, wenn dich die Property für die Zielfarbe ändert, im Codebehind das Storyboard für den VisualState neu auf mit der entsprechenden Farbe (Umständlich, Animationen erstellen wir auch viel mit Blend im XAML und ich möchte nicht alles umschreiben)

Hat jemand noch einen besseren Lösungsvorschlag?
private Nachricht | Beiträge des Benutzers