No permitir / Bloquear la selección de un elemento de cuadro combinado deshabilitado en wpf

Estoy escribiendo una aplicación en la que me gustaría desactivar algunos elementos en elComboBox y también quiere rechazar / bloquear la selección de elementos deshabilitados. Tenga en cuenta que ComboBox en la ventana principal tiene otro ComboBox como ComboBox Item init (que se decide en tiempo de ejecución por el selector de plantilla de datos).

Con el siguiente código, puedo deshabilitar un ComboBox dentro de ComboBox, pero no impedirá que el usuario seleccione ese elemento de ComboBox deshabilitado. Cualquier ayuda en rechazar / bloquear la selección de elementos deshabilitados sería útil.

A continuación se muestran los fragmentos de código

ComboBox en la ventana principal:

<Grid>
    <ComboBox HorizontalAlignment="Left" VerticalAlignment="Top" 
              Width="120" Margin="87.2,44.8,0,0" 
              ItemsSource="{Binding Cars}" 
              ItemsPanel="{DynamicResource ItemsPanelTemplateHorizontal}"
              ItemTemplateSelector="{StaticResource QualityComboBoxTemplateSelector}"
              SelectedItem="{Binding SelectedItm}"/>
</Grid>

Selector de plantillas de datos:

public class QualityComboBoxTemplateSelector : DataTemplateSelector
{
    public override DataTemplate SelectTemplate(object item, DependencyObject container)
    {
        var element = container as FrameworkElement;

        var dataTemplate = element.FindResource(((item is string) && item.Equals("Ferrari")) ?
                                                       "DataTemplateTopLevelCombobox2" : "DataTemplateTopLevelCombobox1") as DataTemplate;

        return dataTemplate;
    }
}

Plantillas de datos para ComboBox anterior:

<DataTemplate x:Key="DataTemplateTopLevelCombobox1">
    <Border BorderBrush="Black" BorderThickness="1" >
        <TextBlock HorizontalAlignment="Left" 
                   TextWrapping="Wrap" Text="{Binding}"     
                   VerticalAlignment="Top"/>
    </Border>
</DataTemplate>

<DataTemplate x:Key="DataTemplateTopLevelCombobox2">
    <Border Width="100">
        <ComboBox Text="Custom" Height="21.96"
        ItemsSource="{Binding DataContext.Models, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Window}}}"
        IsEnabled="{Binding DataContext.EnableCombo, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Window}}}" />
    </Border>
</DataTemplate>

Respuestas a la pregunta(2)

Su respuesta a la pregunta