2009-05-26 9 views
0

Ich versuche, einen Long-Range-Kalender zu erstellen, der Ereignisdaten dynamisch lädt (und entlädt), wenn der Benutzer nach links oder rechts durch die Zeit scrollt. Ich habe wirklich Mühe, herauszufinden, wie man das Grundgerüst der Benutzeroberfläche ausbaut und wie man die Benutzeroberfläche dynamisch erstellt, wenn der Benutzer durch Klicken und Ziehen der Maus im Ansichtsbereich scrollt. Das folgende Bild zeigt ein grundlegendes Diagramm der Absicht. Jedes Segment enthält möglicherweise mehrere Rechtecke für Ereignisse, die an diesem Tag (Segment) aufgetreten sind. Ich möchte, dass jede Scheibe eine Leinwand ist, die es mir erlaubt, diese Rechtecke entsprechend zu positionieren. alt text http://www.mistertnt.com/images/DynamicCalendarDiagram.jpgErstellen eines dynamischen Kalenders in Silverlight

Es gibt ein paar Probleme, die ich bin noch nicht sicher, wie zu bewältigen, aber dies ist das erste große, die ich habe für eine Weile grübelt über und kann nicht ganz meinen Kopf wickeln um:

  1. Ich weiß, wie man Steuerelemente dynamisch erstellt, aber wie würde ich Dinge an einem Ende des scrollbaren Inhalts hinzufügen, während ich Dinge vom anderen entferne, je nachdem, wie der Benutzer scrollt?

Jede Führung in die richtige Richtung würde sehr geschätzt werden! Vielen Dank.

Antwort

1

In meiner Anwendung verwende ich die Silverlight-Timeline-Steuerung (http://timeline.codeplex.com/), einen Port des SIMILE-Timeline-Widget. Sehr schön!

Mit freundlichen Grüßen.

+0

Danke für die Antwort. Seitdem bin ich zu einem wichtigeren Projekt übergegangen, aber das wird sich als nützlich erweisen, wenn ich diese Aufgabe jemals wieder aufgreifen muss. – Tom

0

Wenn Sie Ihrem Panel einen Namen zuweisen (Sie verwenden vielleicht ein StackPanel, nehme ich an), könnten Sie auf die Ereignisse in einem ScrollViewer reagieren und Elemente hinzufügen oder entfernen. Wenn es sich bei Ihren gebundenen Daten um eine ObservableCollection handelt, ist dies wahrscheinlich noch einfacher.

Allerdings werden Sie fast die Daten werden zu virtualisieren, und es ist eine heikle Angelegenheit in. In diesem Prozess

Betrachten Sie mit der Silverlight 3 VirtualizingStackPanel zu helfen zu sein.

Verwandte Themen