A DataTrigger
would probably be more appropriate here since you want to change the ItemsSource
binding based on another value
<Style x:Key="MyListBoxStyle" TargetType="ListBox">
<Setter Property="ItemsSource" Value="{Binding XXX.ObservableCollection2}" />
<Style.Triggers>
<DataTrigger Binding="{Binding SomeValue}" Value="SecondCollection">
<Setter Property="ItemsSource" Value="{Binding XXX.YYY.ObservableCollection2}" />
</DataTrigger>
</Style.Triggers>
</Style>
Unlike a Converter, a DataTrigger
will correctly get re-evaluated whenever the triggered value changes