Ich konstruiere einige XAML in einer Template-Klasse und ich brauche ein Rechteck, um eine Fill-Eigenschaft auf etwas aus einem Textfeld vom Endbenutzer gefüllt zu haben. Daher muss überprüft werden, dass der Wert vor der Ausgabe von xaml in ein Brush-Objekt konvertiert werden kann. Andernfalls, wenn der Wert keine gültige Farbe ist (benannt oder nicht), erhalte ich folgende Fehlermeldung: Fehler: Sys.InvalidOperationException: Ungültiges XAML für Steuerelement 'sldivparent'. [] (Zeile 6, Spalte 412): Fehler beim Erstellen einer 'System.Windows.Media.Brush' aus dem Text 'NotValidColorValue'. Offensichtlich will ich das nicht und im Falle eines ungültigen Wertes möchte ich nur, dass es Weiß ist.Validierung einer Farbe in Silverlight
Wie kann ich sicherstellen, dass "NotValidColorValue" ein gültiger Farbwert ist, bevor Sie fortfahren?
Dank
Bearbeiten zur weiteren Klärung: I Farbauswahl verwenden, eine YUI Farbauswahl von Silverlight-Aufruf genauer und sein Arbeits in Ordnung zu sein. Die Sache ist, dass ein Benutzer auch eine Farbe (entweder # 112233 oder "Rot") direkt in das Textfeld eingeben kann, die gültig sein muss, oder weiß anzeigen, wenn sie ungültig ist. Ich möchte nicht in die gesamte manuelle Überprüfung von Farbnamen gehen, also idealerweise möchte ich versuchen, ein Objekt von einem beliebigen Typ (vielleicht ein Pinsel-Derivat) zu erstellen mit dem, was Benutzer eingegeben hat und wenn dies nicht tut Erfolg Ich würde wissen, dass der Farbwert ungültig war und entsprechend handeln.
+1 große Antwort !! – Stan
das, Sir, ist das, was ich "Spot" nenne! ganz und gar verdiente Punkte auf deinem Weg. – danijels
@danijels: Danke :) Sogar scrgb Text-Werte wie '" sC# 1.0.0.5,0.8,0.0 "' arbeitet mit diesem Ansatz.Der alte Teil meiner Antwort wurde entfernt –