Используйте Expander Control для отображения вложенной сетки данных - PullRequest
1 голос
/ 28 декабря 2011

Мы создаем приложение WPF, в котором мы должны отобразить вложенную сетку данных. Для этого мы используем управление экспандером. Но в результате наша внутренняя сетка данных, которая отображается при нажатии кнопки расширения, скрывается за нашей сеткой данных Main / Parent.

Ниже приведен код XAML для сетки данных:

<DataGrid ItemsSource="{Binding abc}">
    <DataGrid.Columns>
       <DataGridTemplateColumn Width="*" Header="column1">
          <DataGridTemplateColumn.CellTemplate>
             <DataTemplate>
                <StackPanel Orientation="Horizontal">
                    <TextBlock Text="{Binding item}"/>
                    <Expander>                                                            
                         <Canvas>
                           <DataGrid ItemsSource="{Binding Path=xyz}">
                              <DataGrid.Columns>
                                  <DataGridTextColumn Header="column1"></DataGridTextColumn>
                                  <DataGridTextColumn Header="column1">
                              </DataGrid.Columns>
                            </DataGrid>
                         </Canvas>
                     </Expander>
                </StackPanel>
            </DataTemplate>
         </DataGridTemplateColumn.CellTemplate>
     </DataGridTemplateColumn>
</DataGrid>

Любая идея исправить вышеуказанную проблему весьма заметна.

1 Ответ

0 голосов
/ 28 декабря 2011

попробуйте подавить холст

    <DataGrid ItemsSource="{Binding abc}" >
        <DataGrid.Columns>
            <DataGridTemplateColumn Width="*" Header="column1">
                <DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <StackPanel Orientation="Horizontal">
                            <TextBlock Text="{Binding item}"/>
                            <Expander IsExpanded="True">
                                    <DataGrid ItemsSource="{Binding Path=xyz}">
                                        <DataGrid.Columns>
                                            <DataGridTextColumn Header="column1"/>
                                            <DataGridTextColumn Header="column1"/>
                                        </DataGrid.Columns>
                                    </DataGrid>
                            </Expander>
                        </StackPanel>
                    </DataTemplate>
                </DataGridTemplateColumn.CellTemplate>
            </DataGridTemplateColumn>
        </DataGrid.Columns>
    </DataGrid>

, если он не работает, вы можете отправить пример datacontext, который заполняет сетку данных

...