2017-02-04 13 views
0

Мне нужно получить цвет от кисти динамически.
Итак, у меня есть кисти:WPF Получить цвет кисти из ресурса кисти

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

Таким образом, возможный цвет прибудет (для другой кисти, например):

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

Итак, мой вопрос как можно получить это для динамических ресурсов?
Просто потому, что если изменить файл ресурсов с ExampleBrush - цвет AnotherBrush не меняется ...

Пожалуйста, не стесняйтесь задавать любые вопросы. Спасибо

ответ

0

Вы не можете установить свойство AnotherBrush Color в Color примераBrush, используя DynamicResource. Обходной путь будет использовать DynamicResource для ссылки на ExampleBrush непосредственно и байпас AnotherBrush:

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

Вам не нужно AnotherBrush как Foreground из TextBlock будет еще меняться, когда изменение AnotherBrush. Результаты будут одинаковыми.

Вы могли бы «привязать» к AnotherBrush как хорошо, но тогда вам нужно будет обновить эту кисть в явном виде всякий раз, когда ExampleBrush обновляется:

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

Да, я попробовал этот путь раньше, но он не работает , – AGS17

+0

Что не работает? Если ваш код не работает, вам нужно опубликовать пример того, что вы пытаетесь сделать, если хотите, чтобы кто-то смог вам помочь ... Конечно, он работает, чтобы использовать DynamicResource. – mm8

+0

Вы уверены? https://www.screencast.com/t/33M28GoAvlf (ExampleBrush просто проверьте, что ресурсы были изменены) Пожалуйста, исправьте меня, если я ошибаюсь – AGS17

 Смежные вопросы

  • Нет связанных вопросов^_^