2017-02-04 24 views
0

브러시에서 색상을 동적으로 가져와야합니다.
그래서, 내가 브러시가 : 그래서WPF 브러쉬 리소스에서 브러시 색상 얻기

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

를, 그것은 (예를 들어 다른 브러시) 가능 GET 색상 :

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

그래서, 내 질문은 입니다 것이 가능이 얻을하는 방법 동적 리소스의 경우?
그냥 내가 ExampleBrush와 리소스 파일 변경하는 경우 때문에 - AnotherBrush의 색상 변화하지 ...

어떤 질문을 주시기 바랍니다. 감사합니다

답변

0

DynamicResource을 사용하여 AnotherBrush의 Color 속성을 ExampleBrush의 Color으로 설정할 수 없습니다. 해결 방법은 직접 우회 AnotherBrush ExampleBrush를 참조 할 DynamicResource을 사용하는 것입니다 다음 TextBlockForeground 여전히 때마다 AnotherBrush 변화를 변경하므로

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

당신은 정말 AnotherBrush 필요하지 않습니다. 결과는 동일합니다.

당신이 할 수뿐만 아니라하지만 ExampleBrush가 업데이트 될 때마다 다음 명시 적으로 브러시를 업데이트해야합니다 AnotherBrush에 "바인딩"

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

그래, 나는 전에이 방법을 시도했지만 그것이 작동하지 않습니다 . – AGS17

+0

무엇이 작동하지 않습니까? 코드가 작동하지 않는다면 누군가가 당신을 도울 수 있기를 원할 경우 어떻게하려고하는지 예를 게시해야합니다 ... 물론 DynamicResource를 사용하기도합니다. – mm8

+0

정말입니까? https://www.screencast.com/t/33M28GoAvlf (ExampleBrush는 리소스가 변경되었는지 확인하십시오.) 내가 틀렸을 때 제발 제발 정확합니다. – AGS17