如何在LightSwitch / C#中实现通用的周期选择控件

时间:2013-04-02 22:40:42

标签: vba visual-studio-lightswitch

我正在寻找一些好的客户端Access \ VBA应用程序的继承人。 LightSwitch真的令人印象深刻,我决定认真考虑一下。我想要重现的是一个通用菜单,它允许自动选择句点并随后过滤日期数据。由于我们的大多数数据屏幕都包含日期,因此这种过滤工具是必须的:它使标准周期选择变得容易,然后可以在屏幕之间切换保持相同的选择周期(当然它比标准日期选择器更有效) 。

它已被证明非常有效,是我们用户的最爱之一。

VBA \现有菜单由6个组合控件组成,其中包含:

  1. 第一个列表框,标准句点为当前\上一个\下一个 月\三月\年等
  2. 添加减号和加号控件 自动1个单位到从\到日期(单位取决于 列表框中的值:如果选择“月”,则单击“+”将 添加1个月到\日期)
  3. a'from'和'to'日期框,我可以在其中查看所选日期和\或手动更新其值
  4. '刷新'按钮
  5. generic period menu

    所以我不期待这里有一个完整的解决方案,但是,因为我对LightSwitch来说是新手,而且仍然是C#初学者,我正在等待一些想法或建议。我想我必须创建一个自定义控件,但我必须承认我不知道从哪里开始。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

Lightswitch拥有自己的做事方式,而且对于初学者而言,这可能并不明显。我将使用标准的Lightswitch名称。如果你不明白什么是什么,那就问问我会详细说明。

您可以像以前一样使用6种标准控件的组合来实现此控件。

第一个是Choice List,一个静态值列表,表示为AutoCompleteBox(即下拉列表)。然后,您将编辑用于创建选择列表的本地属性的_Changed方法。在该方法中,您将创建一个开关/案例以将TimeSpan类型变量设置为所需的时间段。

加号和减号只是普通按钮。您可以编辑每个方法的_Execute方法,将TimeSpan添加到/从DateTime类型的本地属性中添加/减去代表From和To日期。您需要在这里特别小心,并且可能使用一些中间变量DateTime values are immutable

From和To日期可以是上面提到的Date或DateTime类型的Local Properties。这将创建一个标准的Silverlight日期选择器控件,非常好。

date picker

刷新再次只是一个按钮,用于设置Filter Query的参数,用于显示保存数据的网格控件。这个事件序列在this question中很好地表示,只有你绑定Date属性而不是AutoCompleteBox(即下拉)。

希望这有意义,这些链接应该指向正确的方向。我还建议Beth Massi's video series来好好处理Lightswitch应用程序的基本机制。您可能需要考虑在VB.NET中创建应用程序的代码库。以上所有内容仍然适用,但如果您来自VBA背景,语法可能稍微熟悉一点。