Я использую шаблон M-V-VM в WPF, и у меня есть фоновая кисть, которую я буду использовать довольно часто, и я хотел бы переместить ее в общий ResourceDictionary.
Единственная проблема заключается в том, что кисть использует цвет, который она получает через привязку данных к размещенному контексту.
Могу ли я в любом случае переместить кисть в ResourceDictionary и при этом найти нужное значение?
Кисть:
<RadialGradientBrush>
<RadialGradientBrush.RelativeTransform>
<TransformGroup>
<ScaleTransform CenterX="0.5"
CenterY="0.5"
ScaleX="2.3"
ScaleY="2.3" />
<TranslateTransform X="-0.3"
Y="-0.3" />
</TransformGroup>
</RadialGradientBrush.RelativeTransform>
<GradientStop Color="{Binding Path=BackdropColor}"
Offset="1.2" />
<GradientStop Color="#FFFFFFFF"
Offset="-0.1" />
</RadialGradientBrush>
После рефакторинга в ResourceDictionary и добавления ключа я назвал его так:
<StackPanel Grid.Row="0"
Margin="0,0,0,0"
Orientation="Horizontal"
Background="{DynamicResource BackdropRadGradBrush}">
Но это привело к такому выводу в отладчике:
Ошибка System.Windows.Data: 2: не удается найти управляющий элемент FrameworkElement или FrameworkContentElement для целевого элемента. BindingExpression:Path=BackdropColor; Элемент данных = ноль; целевой элемент — «GradientStop» (HashCode=16001149); целевое свойство — «Цвет» (тип «Цвет»)