У меня такая ситуация - я бы хотел установить контроль за временной шкалой. Так что у меня есть UserControl и ItemsControl на нем (каждая строка представляет некоторого человека). ItemsControl содержит еще один ItemsControl как ItemsControl.ItemTemplate - он показывает, например, мероприятия для человека, упорядоченные по дате события.
Так что это выглядит как некая сетка с датами в виде заголовков столбцов и, например, народы как заголовки строк.
........................ |. 2010.01.01 ..... 2010.01.02 . .... 2010.01.03
Адам Смит .... | ...... [какое-то событие # 1] ..... [какое-то событие # 2] ......
Джон Доу ....... | ... [какое-то событие # 3] ..... [какое-то событие # 4] .........
У меня может быть много людей (ItemsControl # 1 - 100-200 предметов) и много событий, произошедших за один день (1-10-30 событий на человека за один день)
проблема в том, что когда пользователь прокручивает ItemsControl # 1 / # 2, это происходит слишком долго, так как много элементов должно отображаться за один раз (как, например, немного текстовых полей и других элементов в описании конкретного события). )
Вопрос № 1 - как я могу его улучшить? Может быть кто-нибудь знает лучший способ построить такой пользовательский элемент управления? Я должен упомянуть, что я использую пользовательскую виртуальную панель, основанную на некоторой пользовательской реализации виртуальной панели, найденной где-то в Интернете ...
Вопрос № 2 - Я хотел бы создать изображение с помощью WriteableBitmap и отобразить привязку данных к изображению и показать изображение вместо множества элементов. Проблема в том, что я пытаюсь отобразить невидимый элемент управления с привязкой к данным (созданный в коде позади), и его фактическая ширина / высота равна нулю (поэтому ничего не отображается), даже если я использую Dispatcher.BeginInvoke (() => {.. .} подход. Как я могу решить это?
Большое спасибо за помощь!