Wie kann ich die Farbe eines WPF-Steuerelements programmgesteuert auf eine Systemfarbe festlegen, damit es bei Farbschemaänderungen aktualisiert wird?

Wie kann ich dies in WPF und im CodeBehind?

<Grid Background="{DynamicResource {x:Static SystemColors.DesktopBrushKey}}"/>
Kommentar zu dem Problem - Öffnen
Vielen Dank für das posten dieser Frage. Ich bin immer noch lernen, WPF und ich konnte nicht herausfinden, wie dies zu tun in XAML, aber Ihre Frage zeigt genau, wie es geht. Ich habe dieses anstatt: <Grid Background="{DynamicResource {x:Static SystemColors.ControlBrushKey}}"/> Danke! Kommentarautor: Pretzel
FWIW, die Sie nicht brauchen, um zu definieren, die DynamicResource, können Sie den Zugriff auf die statischen Pinsel direkt: Background="{x:Static SystemColors.ControlBrush}" Kommentarautor: M. Dudley
Ich revidiere meine früheren Kommentar: Sie müssen angeben, eine DynamicResource wenn Sie denken, dass Ihre Benutzer ändern Sie das system-theme, während die Anwendung ausgeführt wird. Wenn Sie nur die {x:Static ... } und das Thema änderungen, die Ihre Anwendung Farben nicht passen. Auch DynamicResource ist notwendig, wenn Sie einen Stil, der Setter, z.B. <Setter Property="Background" Value="{DynamicResource {x:Static SystemColors.ControlBrushKey}}" />. Kommentarautor: M. Dudley

InformationsquelleAutor der Frage Csupor Jenő | 2009-03-09

Schreibe einen Kommentar