【发布时间】:2026-01-30 01:45:02
【问题描述】:
我有一个带有这样复选框的 ListView:
<ListView
x:Name="usersListView"
Width="300"
ItemsSource="{Binding}"
IsSynchronizedWithCurrentItem="True"
SelectionChanged="childrenListView_SelectionChanged"
Background="{StaticResource BackgroundPrimaryBrush}"
Foreground="{StaticResource WhiteBrush}"
Grid.Row="6" Grid.ColumnSpan="2"
>
<ListView.View>
<GridView>
<GridView.Columns>
<GridViewColumn>
<GridViewColumn.CellTemplate>
<DataTemplate>
<CheckBox Tag="{Binding Id}" IsChecked="{Binding RelativeSource={RelativeSource AncestorType={x:Type ListViewItem}}, Path=IsSelected}" />
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn DisplayMemberBinding="{Binding FullName}" Header="Name" Width="250"/>
</GridView.Columns>
</GridView>
</ListView.View>
</ListView>
ListView 中的所有复选框都来自数据库中的 List 'AllUsers'。 现在我想在后面的代码中将特定的复选框设置为 IsChecked=True。 我有另一个列表“儿童”,其中只有少数“AllUsers”元素。 我想要的是显示 ListView 与选中的复选框绑定到“儿童”中的人。
我尝试自己使用 INotifyPropertyChanged 实现的类包装器来实现这一点,但我无法使用它正确绑定。
我希望我确实正确地解释了这个问题。 提前谢谢你:)
【问题讨论】:
-
将要选择的项目的Id属性设置为true。
标签: wpf listview checkbox binding