WPF:无法访问内部Datagrid

时间:2017-04-02 13:26:36

标签: c# wpf xaml

我在WPF中遇到内部元素的问题。它的innerGrid DataGrid。 我只能在正常的Datagrid后面的代码中访问它。我忘了在xaml代码中添加一些内容吗?

  <DataGrid x:Name="dataGrid" ItemsSource="{Binding Path = data, IsAsync=True}" HorizontalAlignment="Left" Height="198" Margin="35,38,0,0" VerticalAlignment="Top" Width="474" AutoGenerateColumns="False" IsReadOnly="True">
        <DataGrid.RowHeaderTemplate>
            <DataTemplate>
                <Expander Expanded="Expander_Expanded" Collapsed="Expander_Collapsed">
                </Expander>
            </DataTemplate>
        </DataGrid.RowHeaderTemplate>
        <DataGrid.RowDetailsTemplate>
            <DataTemplate>
           <DataGrid x:Name="innerGrid" Height="200">
                    <DataGrid.Columns>
                        <DataGridTextColumn  Header="Patientennummer" />
                    </DataGrid.Columns>
                </DataGrid>
               </DataTemplate>
             </DataGrid.RowDetailsTemplate>
             </DataGrid>

1 个答案:

答案 0 :(得分:0)

您可以在主“dataGrid”的LoadingRowDetails事件中访问内部网格。

private void dataGrid_LoadingRowDetails(object sender, DataGridRowDetailsEventArgs e)
    {
        DataGrid innerGrid = e.DetailsElement as DataGrid;

        if (innerGrid != null)
        {
        }
    }

或者,您可以为“内部网格”添加“已加载”事件,在此事件处理程序中,您可以使用内部网格执行任何操作。

希望这有帮助。