Создание динамического календаря в Silverlight - PullRequest
0 голосов
/ 27 мая 2009

Я пытаюсь создать календарь на большие расстояния, который динамически загружает (и выгружает) данные о событиях, когда пользователь прокручивает влево или вправо во времени. Я действительно изо всех сил пытаюсь понять, как выложить базовую структуру пользовательского интерфейса и как динамически построить интерфейс, когда пользователь выполняет прокрутку, щелкая и перетаскивая мышь в области просмотра. См. Изображение ниже для базовой схемы намерения. В каждом срезе может быть несколько прямоугольников для событий, которые произошли в этот день (срез). Мне бы хотелось, чтобы каждый срез был холстом, чтобы позволить мне правильно расположить эти прямоугольники. альтернативный текст http://www.mistertnt.com/images/DynamicCalendarDiagram.jpg

Есть несколько проблем, с которыми я пока не уверен, как их решить, но это первая большая проблема, над которой я размышлял некоторое время и не могу совсем обернуться:

  1. Я знаю, как динамически создавать элементы управления, но как мне добавить что-то к одному концу прокручиваемого контента, удаляя при этом вещи с другого, в зависимости от способа прокрутки пользователем?

Любое руководство в правильном направлении будет высоко ценится! Благодаря.

Ответы [ 2 ]

1 голос
/ 05 января 2011

В моем приложении я использую элемент управления временной шкалой silverlight (http://timeline.codeplex.com/), порт виджета ПРОСТОЙ временной шкалы. Очень приятно!

С уважением.

0 голосов
/ 19 августа 2009

Если вы назначите имя своей панели (возможно, вы используете StackPanel), вы можете реагировать на события в ScrollViewer, чтобы добавлять или удалять элементы. Если ваши связанные данные представляют собой ObservableCollection, это, вероятно, будет еще проще.

Однако вы почти виртуализируете данные, и это сложная задача.

Рассмотрите возможность использования Silverlight 3 VirtualizingStackPanel , чтобы помочь в этом процессе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...