SolidColorBrush bei wechselnden Farben Opacity festlegen

  • WPF MVVM
  • .NET (FX) 4.5–4.8

    SolidColorBrush bei wechselnden Farben Opacity festlegen

    Hallo miteinander :)

    Ich habe Folgendes:

    XML-Quellcode

    1. <Style TargetType="{x:Type ScrollBar}">
    2. <Setter Property="Stylus.IsFlicksEnabled"
    3. Value="false" />
    4. <Setter Property="Foreground"
    5. Value="{DynamicResource VordergrundfarbeBrush}" />
    6. <Setter Property="Background"
    7. Value="{DynamicResource BackgroundScrollBars}"/>
    8. ...


    Ich möchte, dass die Opacity von Background = 0.5 ist und das dann auch neu berechnet wird, wenn sich ​{DynamicResource VordergrundfarbeBrush} ändert.

    Also hab ich das hier in der Application.xaml:

    XML-Quellcode

    1. <Color x:Key="Vordergrundfarbe">AliceBlue</Color>
    2. <SolidColorBrush x:Key="VordergrundfarbeBrush">AliceBlue</SolidColorBrush>
    3. <SolidColorBrush x:Key="BackgroundScrollBars" Color="{DynamicResource Vordergrundfarbe}" Opacity="0.5"/>


    Wenn der User die Farbe ändert, mach ich das hier im ViewModel:

    VB.NET-Quellcode

    1. Application.Current.Resources("VordergrundfarbeBrush") = New SolidColorBrush(CType(ColorConverter.ConvertFromString(value.ColorName), Color))
    2. Application.Current.Resources("Vordergrundfarbe") = CType(ColorConverter.ConvertFromString(_AusgewaehlteFarbe.ColorName), Color)


    Das Ganze funktioniert soweit, dass die Farbe vom Background des ScrollBars richtig gesetzt wird, sobald der User aber zur Laufzeit die Farbe ändert, bleibt diese aber beim Wert der alten Farbe, obwohl ich DynamicResource benutze...

    Weiss jemand was ich falsch mache?