WPF 网格与子项。如何将子 IsEnable 绑定到父行

WPF Grid with child. How to bind child IsEnable to parent row

我是 WFP 的新手,我尝试为每一行使用 Telerik 网格和子元素。 这是我的 xaml:

<telerikGrid:RadGridView x:Name="rgvProductsMatricolari" ItemsSource="{Binding CustomerProducts}" ... >
    <telerikGrid:RadGridView.ChildTableDefinitions>
    ...
    </telerikGrid:RadGridView.ChildTableDefinitions>
    <telerikGrid:RadGridView.Columns>
        <telerikGrid:GridViewDataColumn x:Name="SelProductsMatricolari" Header ="" Width="Auto" TextAlignment="Center">
            <telerikGrid:GridViewDataColumn.CellTemplate>
                <DataTemplate>
                    <CheckBox x:Name="chkProductsMatricolari" Style="{StaticResource chkStandard}" IsChecked="{Binding IsSelected, Mode=TwoWay}" HorizontalAlignment="Center"  />
                </DataTemplate>
            </telerikGrid:GridViewDataColumn.CellTemplate>
        </telerikGrid:GridViewDataColumn>
        <!-- other columns -->
    </telerikGrid:RadGridView.Columns>
    <telerikGrid:RadGridView.HierarchyChildTemplate>
        <DataTemplate>
            <Grid IsEnabled="{Binding SelectedItem, ElementName=rgvProductsMatricolari}" Visibility="{Binding SelectedItem, ElementName=rgvProductsMatricolari, Converter={StaticResource BooleanToVisibility}}">
                <!-- the grid -->
            </Grid>
        </DataTemplate>
    </telerikGrid:RadGridView.HierarchyChildTemplate>
</telerikGrid:RadGridView>

如您所见,如果父行的 checkbox(模型的 IsSelected)为 select,我想禁用并隐藏子项 Grid编辑。 我对 {Binding SelectedItem, ElementName=rgvProductsMatricolari} 有一些疑问,因为点击 checkbox 而不是 select 该行。

如何将子网格“IsEnabled”属性绑定到父数据的“IsSelected”属性?

试试这个:

<Grid IsEnabled="{Binding DataContext.IsSelected, RelativeSource={RelativeSource AncestorType=telerik:GridViewRow}}" ... >