Search code examples
c#wpfstyleslistboxiteminputbinding

Define InputBindings in Style


I would like to add a right click and left click command to each ListBoxItem in a Style. Is this possible?

<Style TargetType="{x:Type ListBoxItem}">
    <Setter Property="InputBindings">
        <Setter.Value>
            <MouseBinding Command="{x:Static View:Commands.AddItem}"
                          MouseAction="LeftClick"/>
            <MouseBinding Command="{x:Static View:Commands.RemoveItem}"
                          MouseAction="RightClick"/>
        </Setter.Value>
    </Setter>
</Style>

Solution

  • I was not able to find a way to accomplish what I originally wanted. I ended up using Events instead of Commands.

    <Style TargetType="{x:Type ListBoxItem}">
    <EventSetter Event="PreviewMouseLeftButtonDown" Handler="AssignItem"/>
    <EventSetter Event="PreviewMouseRightButtonDown" Handler="RemoveItem"/>
    </Style>