Laden...

Checkbox in Listview. Als CommandParameter sende CheckedItem in Itemssource

Erstellt von tastimur vor 9 Jahren Letzter Beitrag vor 9 Jahren 1.496 Views
T
tastimur Themenstarter:in
64 Beiträge seit 2007
vor 9 Jahren
Checkbox in Listview. Als CommandParameter sende CheckedItem in Itemssource

Hallo zusamman,

habe ein ListView welche ein(paar) CheckBox enthält.

Wenn ich als CommandParameter SelectedItem von ListView schicke,
bekomme ich zwar SelectedItem aber Clicked-CheckBox gehört zu einer anderen Item.

d.h ohne Selection zu ändern kann man andere checkboxes von anderen Items clicken.

Wie kann ich den Row bzw die Item senden den ich eigentlich geklickt habe?


<ListView  ItemsSource="{Binding CheckList}">
   <ListView.View>
                <GridView>
                    <GridViewColumn Header="Name" Width="120" >
                        <GridViewColumn.CellTemplate>
                            <DataTemplate>
                                <TextBlock HorizontalAlignment="Left" Text="{Binding Name}" />
                            </DataTemplate>
                        </GridViewColumn.CellTemplate>
                    </GridViewColumn>
	<GridViewColumn Header="Checked?" Width="90">
                        <GridViewColumn.CellTemplate>
                            <DataTemplate>
                                <CheckBox Command="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}, Path=DataContext.CheckedClicked}"
                                          CommandParameter="{Binding RelativeSource={RelativeSource FindAncestor,AncestorType={x:Type Listview}}, Path=SelectedItem}"
                                          IsChecked="{Binding IsChecked,Mode=TwoWay}" HorizontalAlignment="Center"/>
                            </DataTemplate>
                        </GridViewColumn.CellTemplate>
                    </GridViewColumn>
                </GridView>
            </ListView.View>
        </ListView>

Danke Vorab

VG
Timur Tas

2.223 Beiträge seit 2005
vor 9 Jahren

Hallo Tastimur,

warum bindest Du denn den CommandParameter, an das Property SelectedItem von der ListView

ein Binding auf den aktuellen Row DataContext, wäre für Dich doch eigentlich das Richtige.
So würdest Du im Parameter, auch das Objekt bekommen welches die aktuelle Zeile Repräsentiert.


CommandParameter="{Binding Path=.}"

Viele Grüße
Lars

T
tastimur Themenstarter:in
64 Beiträge seit 2007
vor 9 Jahren

Vielen Dank 😉