2009-05-26 9 views
0

Je tente de créer un calendrier à longue portée qui charge (et décharge) dynamiquement les données d'événement lorsque l'utilisateur fait défiler vers la gauche ou la droite dans le temps. J'ai vraiment du mal à comprendre comment mettre en place le cadre de base de l'interface utilisateur et comment construire dynamiquement l'interface lorsque l'utilisateur fait défiler en cliquant et en faisant glisser la souris dans la zone de visualisation. Voir l'image ci-dessous pour un schéma de base de l'intention. Chaque tranche contient potentiellement plusieurs rectangles pour les événements survenus ce jour-là (tranche). Je voudrais que chaque tranche soit une toile pour me permettre de positionner ces rectangles de manière appropriée. alt text http://www.mistertnt.com/images/DynamicCalendarDiagram.jpgCréation d'un calendrier dynamique dans Silverlight

Il y a quelques problèmes que je ne suis pas encore sûr de savoir comment aborder mais est le premier grand que j'ai ressassant pendant un certain temps et ne peut pas tout à fait envelopper la tête autour de:

  1. Je sais comment créer dynamiquement des contrôles, mais comment ajouter des éléments à une extrémité du contenu défilant tout en supprimant les éléments de l'autre en fonction du défilement de l'utilisateur?

Toute orientation dans la bonne direction serait très appréciée! Merci.

Répondre

1

Dans mon application, j'utilise le contrôle de chronologie silverlight (http://timeline.codeplex.com/), un port du widget de chronologie SIMILE. Très agréable!

Cordialement.

+0

Merci pour la réponse. Depuis, je suis passé à un projet plus important, mais cela sera utile si jamais je devais revoir cette tâche. – Tom

0

Si vous attribuez un nom à votre panneau (vous utilisez peut-être un StackPanel, je suppose), vous pourriez réagir aux événements sur un ScrollViewer pour ensuite ajouter ou supprimer des éléments. Si vos données liées sont des ObservableCollection, cela sera probablement encore plus facile.

Cependant, vous aurez presque être données Virtualisation du, et il est une affaire délicate à être.

Vous pouvez utiliser les Silverlight 3 VirtualizingStackPanel pour aider à ce processus.

Questions connexes