2012-10-03 6 views
0

이 질문은 WinRT에 대한 것이지만 Silverlight에도 적용될 수 있습니다. ListView/ListBox의 Background 속성을 databound한다고 가정 해 봅시다. 특정 테마이 적용될 때만 해당 databinding이 필요합니다. XAML 스타일 중 Merged Dictionaries을 사용하여 테마를 구현했습니다. 다른 테마가 적용될 때 스타일에 의해 정적으로 정의되기를 원합니다.XAML 스타일로 바인딩을 재정의하려면 어떻게해야합니까?

XAML 만 사용하여이 문제를 해결할 수있는 방법이 있습니까?

ListView 태그 자체에 "배경"다음에 "스타일"특성을 배치하여 특성 순서가 중요하지만 효과가없는 것으로 확인되었습니다.

답변

0

Nilzor -

이것은 사용자 지정 변환기를 사용할 곳과 비슷합니다. 이런 식으로 바인딩이 발생하면 논리 테스트와 임의의 코드를 실행하여 바인딩에 사용할 수있는 값을 반환 할 수 있습니다.

WinRT 프로젝트에는 BooleanToVisibility Converter라는 이름의 사용자 지정 변환기가 포함되어 있습니다.

레코드의 경우 : 이것은 변환이 필요하지 않습니다 (즉, 바인딩 된 객체가 bool이고 가시성으로 변환하여 Visibility 속성으로 반환). 논리적 테스트가 될 수 있습니다. - 바인딩 된 객체는 ABC에서 파생 된 XYZ입니다. & XYZ.Parent.SomeProperty == someValue가 다른 ABC를 반환하면.

다음은 생성/구현을위한 스택 오버플로 링크입니다. Binding to a property of a custom converter

관련 문제