0

我有一个 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>
4

1 回答 1

1

CheckBox 的DataContext应该包含 Row 对象。

private void CompanyCheckboxClicked(object sender, RoutedEventArgs e)
{
    CheckBox checkBox = sender as CheckBox;
    Row row = checkBox.DataContext as Row;
    ...
}
于 2012-04-10T14:09:23.573 回答