在Silverlight中创建动态日历

时间:2009-05-26 22:17:10

标签: c# vb.net silverlight

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

有一些问题我还不确定如何解决,但这是我一直在考虑的第一个大问题并且不能完全解决这个问题:

  1. 我知道如何动态创建控件但是如何根据用户滚动的方式将内容添加到可滚动内容的一端,同时从另一端删除内容?
  2. 非常感谢任何正确方向的指导!感谢。

2 个答案:

答案 0 :(得分:1)

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

最好的问候。

答案 1 :(得分:0)

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

然而,您几乎将虚拟化数据,这是一项棘手的业务。

考虑使用Silverlight 3 VirtualizingStackPanel来协助此过程。