You should do it by creating a style trigger like below
<ComboBox x:Name="ACombobox" ItemsSource="{Binding Mode=OneWay, Source={StaticResource AList}}" DisplayMemberPath="TypeName" SelectedValuePath="TypeName" SelectedValue="{Binding AnObj.Type, Mode=TwoWay}" > <Style TargetType="ComboBox"> <Style.Triggers> <DataTrigger Binding="{Binding}" Value="{x:Null}"> <Setter Property="SelectedIndex" Value="0" /> </DataTrigger> </Style.Triggers> </Style> </ComboBox>
The error says that it does not have a qualifying type name so by creating a style it apply to Combobox when you set the TargetType="ComboBox"
<ComboBox x:Name="ACombobox" ItemsSource="{Binding AList}" DisplayMemberPath="TypeName" SelectedValuePath="TypeName" SelectedValue="{Binding AnObj.Type, Mode=TwoWay}" > <ComboBox.Resources> <Style TargetType="ComboBox"> <Style.Triggers> <DataTrigger Binding="{Binding SelectedItem}" Value="{x:Null}"> <Setter Property="SelectedIndex" Value="0" /> </DataTrigger> </Style.Triggers> </Style> </ComboBox.Resources> </ComboBox>
This works for me.
Example with StaticResource
<Window.Resources> <x:Array x:Key="StringList" Type="System:String"> <System:String>Line 1</System:String> <System:String>Line 2</System:String> <System:String>Line 3</System:String> <System:String>Line 4</System:String> </x:Array> </Window.Resources> <ComboBox ItemsSource="{StaticResource StringList}" > <ComboBox.Resources> <Style TargetType="ComboBox"> <Style.Triggers> <Trigger Property="SelectedItem" Value="{x:Null}"> <Setter Property="SelectedIndex" Value="0"/> </Trigger> </Style.Triggers> </Style> </ComboBox.Resources> </ComboBox>