2009-05-26 62 views
0

我正在尝试创建一个长时间日历,以随着用户向左或向右滚动时间动态加载(和卸载)事件数据。我真的很想弄清楚如何奠定UI的基本框架,以及如何在用户通过在视图区域中单击并拖动鼠标来滚动时动态构建界面。请参阅下面的图片,了解意图的基本图。每个切片对于那天发生的事件(切片)可能具有多个矩形。我希望每个切片都是一个画布,以便我可以适当地定位这些矩形。 alt text http://www.mistertnt.com/images/DynamicCalendarDiagram.jpg在Silverlight中创建动态日历

有迹象表明,我还不知道怎么解决了一些问题,但是这是第一个大的,我一直在各地酝酿了一段时间,不能完全包住我的头:

  1. 我知道如何动态地创建控件,但是我怎么去添加事物到可滚动内容的一端,同时根据用户滚动的方式从另一端删除东西?

任何在正确的方向指导将不胜感激!谢谢。

回答

1

在我的应用程序中,我使用了Silverlight时间线控件(http://timeline.codeplex.com/),它是SIMILE时间线小部件的一个端口。非常好!

此致敬礼。

+0

感谢您的回复。我已经开始了一个更重要的项目,但如果我需要重新审视这个任务,这将会派上用场。 – Tom 2011-01-06 19:21:37

0

如果您为面板指定名称(您可能使用了StackPanel,我猜测),您可以对ScrollViewer上的事件做出反应,然后添加或删除项目。如果绑定的数据是ObservableCollection,它可能会更容易。

但是你几乎可以虚拟化的数据,这是一个棘手的业务是在。

考虑使用Silverlight 3的VirtualizingStackPanel来协助这一进程。