2013-10-12 5 views
0

this question에서 설명한 것과 동일한 문제가 있다고 생각합니다.DataTemplate의 StaticResource가 해결되지 않습니다

<ItemsControl ItemsSource="{Binding Buttons}"> 
    ... 
    <DataTemplate> 
     <RadioButton Style="{StaticResource {x:Type ToggleButton}}"/> 
    ... 

이 경우 정적 리소스가 확인되지 않습니다. 위의 링크에 따라 DynamicResource로 변경해 보았지만 문제가 해결되지 않았습니다. DataTemplate에서 StaticResource에 액세스하려면 어떻게해야합니까?

+0

참조하는 스타일과 스타일은 어디에 어떻게 정의되어 있습니까? – lisp

+0

아직 정의하지 않았습니다 ... XAML의이 측면에 익숙하지 않습니다. 그것을 어딘가에 정의해야합니까? – Sherlock

+0

RadioButton에서 ToggleButton의 기본 스타일 (재정의 된 기본 스타일이 아님)을 사용하려면 no로 설정하십시오. 그러나 이것은 나를 위해 일합니다. 자원이 해결되지 않았다는 것을 어떻게 알 수 있습니까? – lisp

답변

1

라디오 버튼에 GroupName을 정의하지 않으면 상위 컨테이너에 따라 그룹화됩니다. 즉, 단일 스택 패널/그리드/독 패널의 모든 라디오는 동일한 그룹 이름을 가진 것처럼 동작합니다. 모든 버튼이 동일한 컨테이너에 있도록 UI를 변경할 수 있습니까? 사용자 제어의 각 인스턴스에

GroupName="{Binding RelativeSource={RelativeSource FinsAncestor, AncestorType={x:Type my:MyUserControl}}, Path=CurrentGroupName}" 

이어서 그 속성이 불가능한 경우

, 사용자 컨트롤 타입 String의 속성을 정의하고 (각 라디오 버튼) GroupName 결합, 다른 그룹 이름을 설정할 수 있습니다.

+0

모두 설명 할 수 있습니다. 별도의 그리드 컨테이너에. 문제가 여전히 발생합니다. GroupName과 같이 각 사용자 정의 컨트롤에 대해 임의의 문자열을 만드는 것을 피하기 위해 최선을 다하고 있지만이 경로를 따라 가야 할 것처럼 보입니다. – Sherlock

+0

임의의 문자열을 만들 필요가 없습니다. 'UserControl'(즉, UC의 인스턴스를 만드는 개발자)에게 그룹을 정의하게하십시오. 속성이'DependencyProperty' 인 한 필요하다면 속성을 뷰 모델의 속성에 바인딩 할 수 있습니다. – XAMeLi