【问题标题】:Silverlight (wp7)银光 (wp7)
【发布时间】:2011-10-22 15:44:12
【问题描述】:

作为 silverlight 的新手,我正在努力“开始”以下内容。

基本上我希望创建某种形式的网格,如控件(自定义或用户?)。

这个想法类似于计划者的想法。顶部是时间(设置间隔)。向下是主题。然后在网格上像背景矩形(或其他东西)指示该主题的计划时间。

上面的实际设计不是问题。即覆盖了 ractangles 的网格。但我的问题是我希望这个网格可以上下滚动(当主题行开始和结束时,边界固定顶部和底部)。还有要左右滚动的网格(边界固定它可以左右滚动的距离、当前时间和未来 3 天)。

基于上述需求,我不希望创建一个非常大的控件,并且只是拖动到视图中(除非这是唯一的方法?)而是在当前时间和动态拖动时显示网格加载接下来几个小时的内容,可能需要几个小时的缓冲时间。

我正在寻找的外观看起来像是一个大型控件,但实际上不是,它是动态的。

这有意义吗?我什么都不担心吗?我是否应该在未来创建一个巨大的网格,然后只在顶部动态处理数据负载?如果我想在未来 3 个月内获得一个网格,这只是我的担心,这将是巨大的并且浪费内存。

我很难在网上找到示例,但我觉得这可能与我不知道要搜索什么有关。这不是要获得详细的答案并有人为我做这件事,而是要为我指明正确的方向。

非常感谢

【问题讨论】:

    标签: silverlight windows-phone-7


    【解决方案1】:

    关于上下滚动:您可以简单地在 ScrollViewer 控件中放置一个包含数据的网格 - 这将为您处理所有滚动。另一种解决方案是使用列表框控件 - 如果您使用 MVVM,这会更好。您可以将其绑定到数据源并将自定义控件设置为数据模板。

    用于左右滚动。我想你可以为此使用手势。喜欢 - 捕捉从左到右和从右到左的轻弹,并根据手势的方向更改网格/列表框中的数据。您还可以在网格顶部放置两个按钮来处理从一天到另一天的滚动(就像在日历控件中一样:手势 + 按钮)。

    【讨论】:

    • 我喜欢使用手势和按钮跟随日历的想法。我仍然认为应用程序需要网格看起来像它的滚动,即使它没有,它只是移动数据。这样可以更轻松地查看可能跨越数小时的事情的开始和结束位置。
    • 您也可以使用滚动查看器处理左右滚动。您需要做的就是启用HorizontalScrollBarVisibilityAuto。下面我为您做了一个简短的演示,说明它是如何工作的。只需将 xaml 复制到项目的 amty 页面中,替换 LayoutRoot 网格即可。
    • 代码太长,无法放在那里,所以我做了一个项目并将其放在我的保管箱中,以便您下载。链接在这里:link
    • 非常感谢马吕斯。当我下次在我的机器上时,我会看看。在动态加载的情况下,当人们向左滑动(向右滚动)时,是否有一种通用的方法来处理从左侧消失的内容?即我应该从正在滚动的控件中卸载控件还是应该将其保留,如果长时间滚动到未来,只关心控件大小和内存使用。再次感谢。
    猜你喜欢
    • 2011-04-27
    • 1970-01-01
    • 1970-01-01
    • 2010-12-02
    • 2011-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多