选中一个复选框,从listview行中获取其兄弟

时间:2012-04-10 14:01:16

标签: c# wpf xaml

我有一个C#,WPF ListView,每行都有一个复选框和一个字符串。当我单击复选框时,我希望它能够获取同一行中的兄弟字符串但我不太清楚如何。我是WPF菜鸟。

我的列绑定到名为Row的传入对象的属性,该对象具有Name和一个指示它是否处于活动状态的布尔值。

这几乎就像我需要走向可视树以获得“行”,然后抓住不是复选框的孩子。

非常感谢任何建议。 XAML如下。

MJ

        <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>

1 个答案:

答案 0 :(得分:1)

CheckBox的DataContext应该包含Row对象。

private void CompanyCheckboxClicked(object sender, RoutedEventArgs e)
{
    CheckBox checkBox = sender as CheckBox;
    Row row = checkBox.DataContext as Row;
    ...
}