datatemplate을 통해 데이터를 표시하는 부모 contentcontrol이 있습니다. 데이터 템플릿에는 동일한 유형의 여러 사용자 콘솔이 포함 된 스택 패널이 포함되어 있습니다. 부모 컨트롤에 한 번만 속성을 설정하고 싶습니다. 모든 하위 컨트롤의 속성 값을 설정해야합니다. 그러나 stackpanel에서 그것을 할 수있는 방법이 있다면 그것은 또한 괜찮습니다. 런타임에 템플릿을 변경할 수 있으며 값을 새 템플릿에 전파해야합니다.WPF, 여러 하위 컨트롤에 단일 값으로 속성 설정
현재 해결책은 부모와 하위 컨트롤 모두에 속성을 구현하고 코드를 사용하여 부모에서 모든 하위 컨트롤로 값을 전파하는 것입니다. 내 질문은 : 더 좋은 방법이나 다른 방법이 있습니까?
편집 : 내 질문에 대한 명확한 메모. 응용 프로그램은 현재 WPF이지만 silverlight로 이식 할 수 있다면 보너스가됩니다. 속성은 Style 유형의 종속성입니다.
하위 컨트롤의 스타일 부분에 사용하고 싶습니다. 현재 데이터 템플릿은 별도의 리소스 사전에 저장되어 있으므로 재사용 할 수 있습니다. 서브 컨트롤의 비주얼은 controltemplate을 통해 스타일링됩니다. 템플릿에는 세 가지 컨트롤이 포함되어 있으며 첫 번째 컨트롤에는 레이블이 있습니다. 필요 (바보 같은 소망)는 스타일을 한 번만 설정하여 데이터 템플릿의 모든 하위 컨트롤에 일관된 모양과 느낌을주는 것입니다. 그래서 문제의 핵심은 컨테이너 컨트롤의 리소스 딕셔너리에 저장된 하위 컨트롤의 스타일 종속성 속성 값을 무시하는 것입니다. 둘 다 사용자 정의 사용자 컨트롤이므로 모든 옵션이 열려 있습니다.
<Parent SubSubStyle="x" Template="template" />
<DataTemplate x:Key=template>
<StackPanel>
<Subcontrol SubSubStyle="?"/>
<Subcontrol SubSubStyle="?"/>
<Subcontrol SubSubStyle="?"/>
<Subcontrol SubSubStyle="?"/>
</StackPanel>
</DataTemplate>
WPF와 Silverlight 솔루션 또는 Silverlight 만 필요합니까? – AnthonyWJones
현재 WPF 만 있지만 WPF와 Silverlight에서 모두 작동하는 것이 좋습니다. –