2010-03-03 6 views
10

xaml 문서의 루트 요소에 StaticResource를 사용하고 싶습니다. 그러나 MSDN 말한다 : 내에서XAML 루트 요소에 StaticResource 사용

정적 리소스 참조가 리소스 사전은 이미 자원 참조하기 전에 어휘 을 정의 된 리소스를 참조해야합니다. 전달 참조는 정적 리소스 참조로 해결할 수 없습니다.

그리고이 :

룩업 프로세스는 부모 요소 및 리소스 사전에 상향 논리 트리를 횡단. 루트 요소 에 도달 할 때까지 계속됩니다.

리소스를 애플리케이션에 정의해야합니까? 아니면 코드에서 생성해야합니까?

+0

실제로 나는 무엇이든 열려 있습니다 ... – naeron84

+0

정말 루트 요소에서 액세스해야합니까? 최상위 하위 요소에서 참조하는 것으로 충분하지 않습니까? – TabbyCool

+0

루트 요소는 윈도우이고 내가 바인딩하려는 것은 Left 속성입니다. 나는 StaticResource가 Converter (IValueConverter 구현)라는 것을 잊어 버렸다. – naeron84

답변

11

실제로 속성을 요소 및 속성으로 설정할 수 있습니다 (예 : Window.Left와 같은 간단한 속성 포함).

이것은 리소스를 선언 한 후 Left 값을 설정할 수 있음을 의미합니다.

<Window.Resources> 
    <app:LeftConverter 
     x:Key="LeftConverter" /> 
</Window.Resources> 

<Window.Left> 
    <Binding 
     Path="UnconvertedLeft" 
     Converter="{StaticResource LeftConverter}" /> 
</Window.Left> 
0

루트 요소에서 ResourceDictionary에 실제로 액세스해야하는 경우 StaticResource가 아닌 DynamicResource로 참조 할 수 있습니다. 작동 여부는 확실하지 않지만 시도해 볼 가치가 있습니다.

+0

나는 시험해 보았다. 작동하지 않습니다. – naeron84

관련 문제