选中复选框并从列表视图行获取其同级
本文关键字:获取 视图 列表 复选框 | 更新日期: 2023-09-27 18:30:41
我有一个C#,WPF ListView,每行都有复选框和一个字符串。当我单击该复选框时,我希望它能够获取同一行中的同级字符串,但我不太知道如何。我是 WPF 菜鸟。
我将我的列绑定到一个名为 Row 的传入对象的属性,该对象具有 Name 和指示它是否处于活动状态的布尔值。
这几乎就像我需要沿着可视化树向上走去获取"行",然后抓住不是复选框的孩子。
任何建议将不胜感激。下面的 XAML。
美杰
<ListView Name="CompanyListView" Width="300" Height="200">
<ListView.View>
<GridView>
<GridView.Columns>
<GridViewColumn Width="25">
<GridViewColumn.CellTemplate>
<DataTemplate>
<CheckBox IsChecked="{Binding Path=Active}" Click="CompanyCheckboxClicked"/>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Header="Name" DisplayMemberBinding="{Binding Path=Name}" Width="250"/>
</GridView.Columns>
</GridView>
</ListView.View>
</ListView>
复选框的 DataContext 应包含 Row 对象。
private void CompanyCheckboxClicked(object sender, RoutedEventArgs e)
{
CheckBox checkBox = sender as CheckBox;
Row row = checkBox.DataContext as Row;
...
}