CheckBox in ListBoxItem - Weitergabe des Indexes

  • WPF MVVM
  • .NET (FX) 4.5–4.8

    CheckBox in ListBoxItem - Weitergabe des Indexes

    Hallo miteinander! :)

    Ich hab mal ein kleines Problemchen:

    Meine ListBox sieht so aus:

    XML-Quellcode

    1. <ListBox Name="lstEffekt" ItemsSource="{Binding AngewendeteEffekte, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}" SelectedItem="{Binding AusgewaehlterEffekt, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" SelectionMode="Single" IsSynchronizedWithCurrentItem="True">
    2. <ListBox.ItemTemplate>
    3. <DataTemplate>
    4. <Grid>
    5. <Grid.ColumnDefinitions>
    6. <ColumnDefinition Width="85*"/>
    7. <ColumnDefinition Width="5*"/>
    8. <ColumnDefinition Width="5*"/>
    9. <ColumnDefinition Width="5*"/>
    10. </Grid.ColumnDefinitions>
    11. <TextBlock Grid.Column="0" Text="{Binding Path=Name}" TextTrimming="CharacterEllipsis">
    12. <ToolTipService.ToolTip>
    13. <StackPanel>
    14. <TextBlock Text="{Binding Path=Name}"/>
    15. </StackPanel>
    16. </ToolTipService.ToolTip>
    17. </TextBlock>
    18. <CheckBox IsChecked="{Binding Path=Bypass}" ToolTip="Schalte diesen Effekt an/aus" Command="{Binding DataContext.EntferneEffekt}" CommandParameter="{Binding}" Grid.Column="1"/>
    19. <Border Grid.Column="2" ToolTip="Schalte diesen Effekt aus...">
    20. <Border.InputBindings>
    21. <MouseBinding MouseAction="LeftClick" Command="{Binding DataContext.EffektBypass, ElementName=lstEffekt}" CommandParameter="{Binding}"/>
    22. </Border.InputBindings>
    23. <Viewbox Stretch="Uniform">
    24. <Path Fill="Black" Margin="4" Stretch="Uniform" Data="xxx"/>
    25. </Viewbox>
    26. </Border>
    27. <Border Grid.Column="3" ToolTip="Zeige das User-Interface dieses Effekts an...">
    28. <Border.InputBindings>
    29. <MouseBinding MouseAction="LeftClick" Command="{Binding DataContext.ZeigeEffektUI, ElementName=lstEffekt}" CommandParameter="{Binding}"/>
    30. </Border.InputBindings>
    31. <Viewbox Stretch="Uniform">
    32. <Path Fill="Black" Margin="4" Stretch="Uniform" Data="yyy"/>
    33. </Viewbox>
    34. </Border>
    35. </Grid>
    36. </DataTemplate>
    37. </ListBox.ItemTemplate>
    38. </ListBox>


    Ich möchte dass die CheckBox wenn sich IsChecked ändert in Zeile 19 einen Command ausführt und den Index, den das entsprechende ListBoxItem hat, per CommandParameter weitergibt.

    Kann mir da jemand unter die Arme greifen?

    Alternative Lösungswege sind herzlich willkommen :)

    Edit: Hat sich erledigt, ich nehme die SelctedIndex-Property zu Hilfe :)

    Hatte gedacht das kommt sich in die Quere...

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „kafffee“ ()