나는 그리드를 포함하고 그리드 안에 콤보 박스가있는 datatemplate을 가지고있다.WPF DataTemplate에서 컨트롤에 액세스하는 방법
<DataTemplate x:Key="ShowAsExpanded">
<Grid>
<ComboBox Name ="myCombo" Grid.Column="1" HorizontalAlignment="Stretch" VerticalAlignment="Top" Margin="5"
IsSynchronizedWithCurrentItem="True"
ItemsSource="{Binding}"
ItemTemplate="{StaticResource MyItems}">
<ComboBox.ItemsPanel>
<ItemsPanelTemplate>
<VirtualizingStackPanel />
</ItemsPanelTemplate>
</ComboBox.ItemsPanel>
</ComboBox>
</Grid>
</DataTemplate>
나는 스타일을 통해 해당 템플릿을 참조하는 표가 있습니다.
<Grid>
<ContentPresenter Name="_contentPresenter" Style="{DynamicResource StyleWithCollapse}" Content="{Binding}" />
</Grid>
기본적으로 DataContext를 설정하기 위해 myCombo의 코드를 통해 어떻게 액세스 할 수 있습니까?
Interesing. 나는 wpf에 상당히 새로운 것이다. 표에서 datacontext를 설정하면 템플릿의 콤보 박스에 어떻게 전파됩니까? 또한, 내 템플릿에 2 콤보 상자가있는 경우 어떻게 각각의 데이터 인터페이스가 다른 경우 각 콤보의 datacontext가 바인딩되어 있다고 가정합니까? – pdiddy
datacontext는 자식의 datacontext를 명시 적으로 설정하지 않는 한 하위에 전파됩니다. 그리드에 datacontext를 설정하면 ContentPresenter (및 아래의 모든 컨트롤)가 해당 datacontext를 공유하고 바인드 할 수 있습니다. –
2 개의 다른 콜렉션을 통해 바인딩해야하는 템플릿에 2 개의 콤보 박스가있는 경우 어떻게됩니까? – pdiddy