0

各行にチェックボックスと文字列を持つC#、W​​PF ListViewがあります。チェックボックスをクリックすると、同じ行にある兄弟文字列を取得できるようにしたいのですが、その方法がよくわかりません。私はWPF初心者です。

Name とアクティブかどうかを示すブール値を持つ Row という受信オブジェクトのプロパティに列をバインドしています。

ビジュアル ツリーを上って "行" を取得し、チェックボックスではない子を取得する必要があるようです。

どんな提案でも大歓迎です。以下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>
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 に答える