C# :: Aufgabe #10 :: Lösung #5
6 Lösungen

#10
Color ValueConverter für XAML - Ampelstatus
Fortgeschrittener - C#
von pocki
- 28.08.2012 um 09:59 Uhr
Schreibe einen ValueConverter für XAML (WPF, Silverlight) wobei je nach Integer-Wert (Variable Zustand) eine Ellipse eine bestimmte Farbe zugewiesen wird.
Verwende folgenden XAML-Ansatz:
XML-Code
Wobei die Zuordnung wiefolgt sein soll:
C#-Code
Verwende folgenden XAML-Ansatz:

<Ellipse Fill={Binding Path=Zustand, Converter={StaticResource ResourceKey=StateToColorConverter}, ConverterParameter=Red;Orange;Green}/>
Wobei die Zuordnung wiefolgt sein soll:

Zustand=1; //Red Zustand=2; //Orange Zustand=3; //Green //Für alle anderen Zustandswerte: Transparent
#5

von stbehl (1640 Punkte)
- 03.01.2018 um 15:21 Uhr

using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; namespace TrainYourProgrammer10 { /// <summary> /// Interaktionslogik für MainWindow.xaml /// </summary> public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); StackPanel myStackPanel = new StackPanel(); Ellipse myEllipse = new Ellipse(); SolidColorBrush mySolidColorBrush = new SolidColorBrush(); myStackPanel.Children.Add(myEllipse); this.Content = myStackPanel; int Zustand = 0; switch (Zustand) { case 1: mySolidColorBrush.Color = Color.FromArgb(255, 255, 0, 0); break; case 2: mySolidColorBrush.Color = Color.FromArgb(255, 255, 69, 0); break; case 3: mySolidColorBrush.Color = Color.FromArgb(255, 0, 255, 0); break; default: mySolidColorBrush.Color = Color.FromArgb(0, 0, 0, 0); break; } myEllipse.Fill = mySolidColorBrush; myEllipse.StrokeThickness = 2; myEllipse.Stroke = Brushes.Black; myEllipse.Width = 200; myEllipse.Height = 100; this.Content = myStackPanel; } } }
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1