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」行の 1 つをクリックしたときに、すべての行を選択したいと思います。

前もって感謝します。

ここに画像の説明を入力

4

0 に答える 0