Цитата(Rohoss @ 4.7.2011, 15:45 ) | | Наверное, если ты хочешь только декоративно, то так не получится. однако, такой кейс легко реализуется через MVVM. |
Спросил на MSDN. Оказывается это решается так:
| Код | <ListView x:Name="lv" SelectionMode="Single"> <ListView.View> <GridView> <GridView.Columns> <GridViewColumn> <GridViewColumn.CellTemplate> <DataTemplate> <CheckBox IsChecked="{Binding IsSelected,RelativeSource={RelativeSource FindAncestor,AncestorType={x:Type ListViewItem}}}" /> </DataTemplate> </GridViewColumn.CellTemplate> </GridViewColumn> </GridView.Columns> </GridView> </ListView.View> </ListView>
|
Вот только понять бы теперь механизм того как это работает То, что указана относительная привязка и указанием типа предка понятно. Но как так получается, что одна галка ставится, а прошлая снимается - непонятно. При этом всё работает даже если щёлкать тупо на строке в ListView, совершенно необязательно тыкать на checkbox. То есть, работает всё идеально. Но вот как оно работает?  |