code it

Martins Tech Blog

Flagged Enums und XAML-Syntax

In meinem letzten Post habe ich mich mit den Besonderheiten der XAML-Syntax bei Nested Types auseinandergesetzt. Ähnlich gewöhnungsbedürftig ist die Syntax bei Flagged Enums.

Standard-Enum-Werte können mit Hilfe der Textrepräsentation recht einfach zugewiesen werden. Ein Beispiel dafür ist die Eigenschaft Visibility.

<TextBlock Text="Sampletext" Visibility="Collapsed" />

Hier sorgt der TypeConverter für Enums dafür, dass aus dem String "Collapsed"  der Wert System.Windows.Visibility.Collapsed generiert wird.

Etwas anders sieht das Ganze bei Flagged Enums aus. Als Beispiel soll ein UserControl dienen, an dem per DependencyProperty eingestellt werden kann, welche Eingabemethoden gültig sind. Da hier mehrere Werte möglich sind, wird das Ganze über ein Flagged Enum gelöst.

Mehr...