Search code examples
wpfwpf-style

WPF ListboxItems with ItemContainerStyle become unselectable


I coded the following ListBoxItemStyle to be able to place multiple elements into the listboxitem:

<Style x:Key="lbWithButton" TargetType="ListBoxItem">
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="ListBoxItem">
                <Grid>
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="10*" />
                        <ColumnDefinition Width="3*" />
                    </Grid.ColumnDefinitions>
                    <TextBlock Text="{TemplateBinding Content}" Grid.Column="0"/>
                    <xctk:IntegerUpDown Minimum="0" Value="0" Maximum="1000" Grid.Column="1"/>
               </Grid>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>

Unfortunately i cant select ListboxItems anymore. This also happens with only the textblock inside the listboxitem.

Help would be appreciated!


Solution

  • You must use ItemTemplate instead of ItemContainerStyle:

    <ListBox>
        <ListBox.ItemTemplate>
            <DataTemplate>
                <Grid>
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="10*" />
                        <ColumnDefinition Width="3*" />
                    </Grid.ColumnDefinitions>
                    <TextBlock Text="{Binding Content}" Grid.Column="0"/>
                    <xctk:IntegerUpDown Minimum="0" Value="0" Maximum="1000" Grid.Column="1"/>
                </Grid>    
            </DataTemplate>
        </ListBox.ItemTemplate>
    </ListBox>