1

我有具有行详细信息的数据网格。我的行可以重复。我想选择所有相似的行。我怎样才能做到这一点。我正在使用 mvvm 模式。我将 selectedItem 绑定到我的视图模型中的相同属性,但它不起作用。

这是 xaml 代码:

   <DataGrid Margin="0,6,0,12" 
          BorderBrush="Silver" 
          SelectionMode="Single" 
          HeadersVisibility="Column"
          AutoGenerateColumns="False" 
          CanUserAddRows="False" 
          CanUserDeleteRows="False" 
          CanUserSortColumns="False" 
          CanUserReorderColumns="False" 
          VerticalGridLinesBrush="Silver"
          HorizontalGridLinesBrush="Silver" 
          VerticalScrollBarVisibility="Visible" 
          HorizontalScrollBarVisibility="Auto" 
          RowDetailsVisibilityMode="Visible" 
          IsSynchronizedWithCurrentItem="{x:Null}"
          ItemsSource="{Binding AccessoryWalls}" 
          Grid.Row="1"
          Grid.Column="0" 
          Name="gAccessories">

    <DataGrid.Columns>
        <DataGridTextColumn Binding="{Binding ID,StringFormat='W{0}'}" FontWeight="Bold" Foreground="Blue" />
    </DataGrid.Columns>

    <DataGrid.RowDetailsTemplate >
        <DataTemplate>
            <Grid >
                <DataGrid ItemsSource="{Binding Accessories}"
                          SelectedItem="{Binding Path=DataContext.SelectedAccessory, RelativeSource={RelativeSource AncestorType={x:Type UserControl}},Mode=TwoWay}"
                          CanUserAddRows="False"
                          HeadersVisibility="Column"
                          AutoGenerateColumns="False">


                    <DataGrid.Columns>
                        <DataGridTextColumn  Header="Horizontal"
                                             Width="60"
                                             Binding="{Binding Horizontal, Converter={StaticResource DimensionConverter}}" />
                        <DataGridTextColumn  Header="Vertical"
                                             Width="60"
                                             Binding="{Binding Vertical, Converter={StaticResource DimensionConverter}}" />
                        <DataGridTextColumn  Header="Detail"
                                             IsReadOnly="True"
                                             Binding="{Binding LongName}" />

                    </DataGrid.Columns>
                    <DataGrid.RowDetailsTemplate>
                        <DataTemplate />
                    </DataGrid.RowDetailsTemplate>
                </DataGrid>
            </Grid>
        </DataTemplate>
    </DataGrid.RowDetailsTemplate>
</DataGrid>

如您所见,我将它绑定到 VM 级别的“SelectedAccessory”并且它可以工作。它与屏幕中的其他控件同步,但不与数据网格中的其他行同步。当我单击其中一个时,我想选择所有“Overhead Door Opening12”行。

提前致谢。

在此处输入图像描述

4

0 回答 0