WPF数据网格虚拟化
我试图通过对数据进行两级排列来绕过与WPF数据网格相关的虚拟化问题WPF数据网格虚拟化,wpf,datagrid,virtualization,Wpf,Datagrid,Virtualization,我试图通过对数据进行两级排列来绕过与WPF数据网格相关的虚拟化问题 <DataGrid.RowDetailsTemplate> <DataTemplate> <ListView Name="InnerGrid" ItemsSource="{Binding EmpCollection}"> <ListView.View> <G
<DataGrid.RowDetailsTemplate>
<DataTemplate>
<ListView Name="InnerGrid" ItemsSource="{Binding EmpCollection}">
<ListView.View>
<GridView>
<GridViewColumn Header="EmpId">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Empid}">
</TextBlock>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Header="Name">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Name}">
</TextBlock>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Header="Country">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Empid}">
</TextBlock>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Header="Phone">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Phone}">
</TextBlock>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Header="Date">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Date}">
</TextBlock>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
</DataTemplate>
</DataGrid.RowDetailsTemplate>
每个国家/地区的行为标题行,单击标题行可显示该国家/地区的员工
<DataGrid.RowDetailsTemplate>
<DataTemplate>
<ListView Name="InnerGrid" ItemsSource="{Binding EmpCollection}">
<ListView.View>
<GridView>
<GridViewColumn Header="EmpId">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Empid}">
</TextBlock>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Header="Name">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Name}">
</TextBlock>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Header="Country">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Empid}">
</TextBlock>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Header="Phone">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Phone}">
</TextBlock>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Header="Date">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Date}">
</TextBlock>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
</DataTemplate>
</DataGrid.RowDetailsTemplate>
本质上,我试图将datagrid的每个元素作为listview项
<DataGrid.RowDetailsTemplate>
<DataTemplate>
<ListView Name="InnerGrid" ItemsSource="{Binding EmpCollection}">
<ListView.View>
<GridView>
<GridViewColumn Header="EmpId">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Empid}">
</TextBlock>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Header="Name">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Name}">
</TextBlock>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Header="Country">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Empid}">
</TextBlock>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Header="Phone">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Phone}">
</TextBlock>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Header="Date">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Date}">
</TextBlock>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
</DataTemplate>
</DataGrid.RowDetailsTemplate>
以下是我的疑问。任何帮助都将不胜感激
<DataGrid.RowDetailsTemplate>
<DataTemplate>
<ListView Name="InnerGrid" ItemsSource="{Binding EmpCollection}">
<ListView.View>
<GridView>
<GridViewColumn Header="EmpId">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Empid}">
</TextBlock>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Header="Name">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Name}">
</TextBlock>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Header="Country">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Empid}">
</TextBlock>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Header="Phone">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Phone}">
</TextBlock>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Header="Date">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Date}">
</TextBlock>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
</DataTemplate>
</DataGrid.RowDetailsTemplate>
<DataGrid.RowDetailsTemplate>
<DataTemplate>
<ListView Name="InnerGrid" ItemsSource="{Binding EmpCollection}">
<ListView.View>
<GridView>
<GridViewColumn Header="EmpId">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Empid}">
</TextBlock>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Header="Name">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Name}">
</TextBlock>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Header="Country">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Empid}">
</TextBlock>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Header="Phone">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Phone}">
</TextBlock>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Header="Date">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Date}">
</TextBlock>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
</DataTemplate>
</DataGrid.RowDetailsTemplate>
<DataGrid.RowDetailsTemplate>
<DataTemplate>
<ListView Name="InnerGrid" ItemsSource="{Binding EmpCollection}">
<ListView.View>
<GridView>
<GridViewColumn Header="EmpId">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Empid}">
</TextBlock>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Header="Name">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Name}">
</TextBlock>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Header="Country">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Empid}">
</TextBlock>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Header="Phone">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Phone}">
</TextBlock>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Header="Date">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Date}">
</TextBlock>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
</DataTemplate>
</DataGrid.RowDetailsTemplate>
<DataGrid.RowDetailsTemplate>
<DataTemplate>
<ListView Name="InnerGrid" ItemsSource="{Binding EmpCollection}">
<ListView.View>
<GridView>
<GridViewColumn Header="EmpId">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Empid}">
</TextBlock>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Header="Name">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Name}">
</TextBlock>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Header="Country">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Empid}">
</TextBlock>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Header="Phone">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Phone}">
</TextBlock>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Header="Date">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Date}">
</TextBlock>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
</DataTemplate>
</DataGrid.RowDetailsTemplate>