У нас есть приложение в стиле чата, такое как Telegram Desktop: в правой части окна список корреспондентов, в левой части - список сгруппированных по дате диалоговых сообщений с выбранным корреспондентом.Теперь мы используем словарь для сохранения текущего состояния каждого диалога с корреспондентом.Выбрав корреспондента, мы взяли существующий элемент управления для диалогового окна отображения или создали новый и связали его с ContentPresenter:
<ContentPresenter Content="{x:Bind ViewModel.DetailsDialog, Mode=OneWay}"/>
После добавления трех или более элементов управления в словарь пользовательский интерфейс начинает зависать (прокрутка отключена и т. Д.), Памятьи процессор не перегружен (что-то около 6% процессора и 50 МБ ОЗУ).
Поэтому мой вопрос заключается в том, как достичь наилучшей производительности при сохранении состояния элемента управления или страницы интерфейса пользователя?