代码之家  ›  专栏  ›  技术社区  ›  Tom

在Silverlight中创建动态日历

  •  0
  • Tom  · 技术社区  · 17 年前

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

    有一些问题我还不确定如何解决,但这是我已经思考了一段时间的第一个大问题,我不能完全把我的头绕起来:

    1. 我知道如何动态地创建控件,但如何在可滚动内容的一端添加内容,同时根据用户滚动的方式从另一端删除内容?

    任何正确方向的指导都将非常感谢!谢谢。

    2 回复  |  直到 15 年前
        1
  •  1
  •   Draeger    15 年前

    在我的应用程序中,我使用Silverlight时间线控件(http://timeline.codeplex.com/),这是simile时间线小部件的一个端口。很不错的!

    最好的问候。

        2
  •  0
  •   Jeff Wilcox    17 年前

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

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

    考虑使用Silverlight 3 VirtualizingStackPanel 协助这个过程。