【发布时间】:2009-05-31 15:13:48
【问题描述】:
我在 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 错误:2:找不到目标元素的管理 FrameworkElement 或 FrameworkContentElement。绑定表达式:路径=背景颜色;数据项=空;目标元素是 'GradientStop' (HashCode=16001149);目标属性是“颜色”(输入“颜色”)
【问题讨论】:
标签: wpf data-binding resourcedictionary