1

我需要动态地从画笔中获取颜色。
所以,我有一个刷子:

<SolidColorBrush x:Key="ExampleBrush" Color="Black" />

因此,它可能会获得颜色(例如,对于另一个画笔):

<SolidColorBrush x:Key="AnotherBrush" Color="{Binding Source={StaticResource ExampleBrush}, Path=Color}" />

所以,我的问题是如何获得动态资源?
只是因为如果我用ExampleBrush- 颜色更改资源文件AnotherBrush不改变......

请随时提出任何问题。谢谢

4

1 回答 1

0

您不能Color使用Color. DynamicResource解决方法是使用DynamicResource直接引用 ExampleBrush 并绕过 AnotherBrush:

<TextBlock Text="..." Foreground="{DynamicResource AnotherBrush}" />

您实际上并不需要 AnotherBrush,因为只要 AnotherBrush 更改Foreground, 的TextBlock仍然会更改。结果将是相同的。

您也可以“绑定”到 AnotherBrush,但是每当更新 ExampleBrush 时,您都需要显式更新此画笔:

<TextBlock Text="..." Foreground="{DynamicResource AnotherBrush}" />
于 2017-02-05T10:35:07.377 回答