我在WPF中使用M-V-VM模式,并且有一个背景刷子,我将经常使用它,并且希望将其移动到共享的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 Error: 2 : 找不到目标元素的 FrameworkElement 或 FrameworkContentElement。BindingExpression:Path=BackdropColor; DataItem=null; target element is 'GradientStop' (HashCode=16001149); target property is 'Color' (type 'Color')