There is no ItemsPanelSelector (perhaps because it is not a DataTemplate ), but you can bind it or use Trigger
Binding example
<ListBox ItemsPanel="{Binding RelativeSource={RelativeSource Self}, Path=Background, Converter={StaticResource MyItemsPanelConverter}}">
Trigger in Style example
<ListBox ItemsSource="{Binding Source={x:Static Fonts.SystemFontFamilies}}"> <ListBox.Style> <Style TargetType="ListBox"> <Setter Property="ItemsPanel"> <Setter.Value> <ItemsPanelTemplate> <StackPanel/> </ItemsPanelTemplate> </Setter.Value> </Setter> <Style.Triggers> <Trigger Property="Background" Value="Green"> <Setter Property="ItemsPanel"> <Setter.Value> <ItemsPanelTemplate> <WrapPanel/> </ItemsPanelTemplate> </Setter.Value> </Setter> </Trigger> </Style.Triggers> </Style> </ListBox.Style> </ListBox>
Fredrik hedblad
source share