У меня очень простое тестовое приложение, в котором у меня есть два объекта, каждый с небольшим набором предметов. когда я выбираю объект, я отображаю его коллекцию в WPFToolkit DataGrid.
Проблема в том, что существует заметная задержка, например, если вы нажимаете клавиши вверх / вниз для переключения между объектами, вы можете видеть, что они не успевают.
Почему производительность такая плохая?
<Window x:Class="SlowGridBinding.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:Controls="clr-namespace:Microsoft.Windows.Controls;assembly=WPFToolkit"
Title="MainWindow" Height="350" Width="525">
<StackPanel>
<ListBox ItemsSource="{Binding Shops}" DisplayMemberPath="Name" IsSynchronizedWithCurrentItem="True"/>
<Controls:DataGrid ItemsSource="{Binding Shops/Vegetables}" AutoGenerateColumns="True"/>
</StackPanel>
DataContext заполнен некоторыми тестовыми классами, заполненными 50 элементами случайных тестовых данных.