[gelöst] Eigenschaften in TextBox ändern
-
private void RadioButton1_Checked(Object sender, RoutedEventArgs e) { TextBox1.IsEnabled = false; // soll Eingabe blockieren TextBox2.IsEnabled = true; // soll Eingabe zulassen TextBox3.IsEnabled = true; // soll Eingabe zulassen TextBox4.IsEnabled = true; // soll Eingabe zulassen TextBox1.Background = Color.FromArgb(125, 125, 125, 125); // soll Farbe ändern }
Fehler: Eine implizite Konvertierung vom Typ "System.Windows.Media.Color" in "System.Windows.Media.Brush" ist nicht möglich.
-
Die Fehlermeldung sagt doch schon alles.
Du erstellst ein Objekt vom Typen "Color", erwartet wird aber ein "Brush" ObjektIn WPF würde man zu dem "SolidColorBrush" greifen um einfarbige Objekte zu bekommen.
-
Noch bin ich neu mit C# für WPF (Windows) und WP7 (Phone). Die Fehlermeldung sagt mir wenig. Was genau muss ich in den Einstellungen der Properties (.xaml) und der Events (.cs) machen? Wie setze ich die Properties neu? C# für WPF und für WP7 sind verschiedene Compiler für verschiedene Betriebssysteme. Möglicherweise gibt es da einige Unterschiede?
-
TextBox1.Background = Brushes.Gray;
-
Zeug schrieb:
TextBox1.Background = Brushes.Gray;
Mag sein für WPF, jedoch nicht für WP7 - dort gibt es keine Klasse Brushes.
-
Also Schritt für Schritt:
TextBox.Background
wird von der KlasseControl
geerbt. Wenn wir uns diese Property in der Dokumentation anschauene gehen, dann stellen wir fest, dass sie ein Objekt der KlasseBrush
erwartet. Soweit kannst du mir hoffentlich noch folgen?
Du probierst jetzt der PropertyTextBox.Background
ein Objekt vom TypColor
zuzuweisen. Wie wir in der Dokumentation erfahren, ist dies eine Struktur und erbt nicht von der KlasseBrush
.Color
ist somit keinBrush
und kann daher an kein Property zugewiesen werden, welches ein Objekt vom TypBrush
erwartet. Wie dies dir eigentlich die Fehlermeldung bereits sagt. Ich hoffe, dass du nachwievor dabei bist.
David W hat dir bereits einen Hinweis gegeben, dass du womöglich einenSolidColorBrush
verwenden solltest. Auch diese Klasse findest du in der Dokumentation. Und aus einem göttlichen Wunder heraus, hat diese Klasse einen Konstruktor, welcher ein Objekt vom TypColor
erwartet.Wie du einen Konstruktor aufrufst, weisst du hoffentlich selbst
Grüssli
-
O.K. das habe ich jetzt so gelöst:
TextBox1.Background = new SolidColorBrush(Color.FromArgb(125,125,125,125)); Die genauen Farbwerte für grau muss ich noch einstellen und das ganze noch zur Mehrfachverwendung global speichern.Danke für die Hilfen!
-
Du solltest auf jeden Fall lernen die Fehlermeldungen zu verstehen. Wenn du das nicht kannst hat das ganze Vorhaben keine Zukunft.
-
David W schrieb:
Du solltest auf jeden Fall lernen die Fehlermeldungen zu verstehen. Wenn du das nicht kannst hat das ganze Vorhaben keine Zukunft.
Ich bin schon oft umgestiegen oder migriert auf neue Plattformen, Betriebssysteme, Compiler, SDKs, IDEs, ... oder musste das machen. Das schreckt mich also wenig. Was man kennt nimmt man mit, alles weitere lernt man einfach dazu.
Ich komme mit WP7 inzwischen zurecht und weiss wo ich für Details suchen oder bei Bedarf fragen muss. Thema hier erledigt! daddeldu! :p
-
Thema hier erledigt!
Das kannst du ruhig betonen. Nachdem du hier schon die Antwort von Dawid W bekommen hast mit dem SolidColorBrush hast du die Frage ja noch in nem anderen Forum gepostet wo dir der Code vorgekaut wurde und dann schreibst du hier noch
O.K. das habe ich jetzt so gelöst:
Toll gemacht