Как передать DataContext в DataTemplate на WPF?

<UserControl.DataContext>
    <vm:LightComponentViewModel />
</UserControl.DataContext>

<StackPanel Orientation="Vertical">
    <local:ComponentHeader Content="Light" />
    <StackPanel Margin="5" Orientation="Horizontal">
        <TextBlock Text="Type" />
        <ComboBox SelectedItem="{Binding Type}" ItemsSource="{Binding Source={StaticResource DataProviderLight}}" Width="150" />
    </StackPanel>
    <ContentPresenter Content="{Binding Type}" ContentTemplateSelector="{StaticResource LightComponentsSelector}" />
</StackPanel>

У меня в ContentPresenter подставляется нужный DataTemplate через DataTemplateSelector. В зависимости от выбранного значения в Combobox. Мне нужно в DataTemplate передать текущий DataContext "LightComponentViewModel". Это можно сделать передав в свойство Content ContentPresenter'а инстанс LightComponentViewModel.

Но при этом перестает работать смена DataTemplate при изменении значения Combobox.

Как можно это исправить ?


Ответы (0 шт):