Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wpf 帮助我设计Silverlight应用程序(特别是主/详细数据输入表单)_Wpf_Silverlight_Silverlight 4.0_Wpf Controls_Binding - Fatal编程技术网

Wpf 帮助我设计Silverlight应用程序(特别是主/详细数据输入表单)

Wpf 帮助我设计Silverlight应用程序(特别是主/详细数据输入表单),wpf,silverlight,silverlight-4.0,wpf-controls,binding,Wpf,Silverlight,Silverlight 4.0,Wpf Controls,Binding,我正在为Silverlight应用程序寻找一些设计/架构师建议 这将是一个计时单(时间表)应用程序,员工可以在其中输入他们的每日时间 我们有一个现有的ASP.Net应用程序和数据库,这个新的应用程序将“使用”。现有应用程序包含作业、报价、发票、员工、客户等。它是一个完整的作业成本财务应用程序 我们希望开始允许员工输入他们自己的计时单。出于几个原因,我决定将其作为Silverlight应用程序。1. - 为员工提供更丰富的界面(他们中的大多数人根本不使用Job Cost应用程序或需要访问该应用程序

我正在为Silverlight应用程序寻找一些设计/架构师建议

这将是一个计时单(时间表)应用程序,员工可以在其中输入他们的每日时间

我们有一个现有的ASP.Net应用程序和数据库,这个新的应用程序将“使用”。现有应用程序包含作业、报价、发票、员工、客户等。它是一个完整的作业成本财务应用程序

我们希望开始允许员工输入他们自己的计时单。出于几个原因,我决定将其作为Silverlight应用程序。1. - 为员工提供更丰富的界面(他们中的大多数人根本不使用Job Cost应用程序或需要访问该应用程序)2。-分离应用程序只是为了添加另一层,以帮助防止员工访问Job Cost应用程序中的敏感信息。3. - 我真的只想使用Silverlight并提高我的WPF/WCF技能(并可能实现MVVM)。谁知道呢,我可能会接受将主应用程序的UI重写为Silverlight应用程序的建议

好的,有关此Silverlight应用程序的更多详细信息

将有一些基本的“工作流程”,因为经理必须“批准”(并可能编辑)每个员工的时间表。所有时间都会记录到工作(可能是“间接”工作,如培训、会议等)或出勤(假期、疾病等)。最后,计时票将由会计人员“张贴”到工作成本应用程序中(现在,该人员必须输入“纸质票”中的每张票!)

我需要帮助的主要事情(尽管,我会接受关于申请的任何建议)是实际的计时票数据输入表单。这将是一个主/明细(标题/行项目)类型的数据输入表单

我正在严格地寻找“添加”表单(Crud.lol的“C”)的指导。。。。(尽管如此,我相信我也会使用相同的表单进行编辑/更新。)

数据输入表单将写入两个表:TimeTicket(主表或表头表)和TimeTicketDetails(子表或行项目表)

如果它是一个ASP.Net应用程序,我会理所当然地使用FormView作为“主应用程序”,使用ListView作为子应用程序。让我有点困惑的是,我希望表单以“列表”(或网格)中已有的大约8个“行项目”开头。我考虑继续使用MVVM框架(只需使用我自己的,没有第三方框架或类似的东西)。这将给我模型和视图模型的分离,当实例化时,我可以简单地继续添加我想要开始的8行(到视图模型)。然后,当用户完成表单时(当然它已经过验证),我只会将实际使用的行添加到数据库中。想法

我知道我可能把这件事搞得太复杂了!但是,由于某些原因,我无法决定最好的开始方式。我想最大的原因就是我缺乏Silverlight的经验

另一方面,我一直在看一些关于WCF RIA服务的演示和文章,我正在考虑使用这项技术。这将作为一个非常小的应用程序开始,但它可能会显著增长,因此我希望有一个良好的起点,以便能够轻松扩展(实际上,我只想学习一些新技术和框架….)

任何建议都将不胜感激


Shayne

除了这个问题太宽泛之外,还有两个指针(只需开始问一些小问题):

  • 不要使用自己的MVVM框架。尽管这样做很有趣,但它增加了很多工作,而且最好依靠经过验证的代码
  • 至于决定何时将数据添加到数据库:这取决于功能需求。用户期望发生什么以及何时发生
  • 编辑

    主细节在Silverlight中非常简单:

  • 创建一个集合
  • 将Items控件绑定到列表,并将其IsSynchronizedWithCurrentItem设置为true
  • 然后将ContentControl绑定到同一集合
  • 在ContentControl中添加ContentTemplate,该ContentControl包含使用绑定显示详细信息/字段的控件
  • 如果将内容控件放在UserControl中,则可以通过以下方式轻松支持向集合添加项: 1.将空项(或具有默认值)添加到集合 2.通过在ItemsCollection中选择新项目,使其成为当前项目。这样,新元素将可供编辑


    通过一些调整,可以支持更复杂的场景,但简而言之就是这样。

    除了这个问题过于宽泛之外,还有两个指针(只需开始并提出较小的问题):

  • 不要使用自己的MVVM框架。尽管这样做很有趣,但它增加了很多工作,而且最好依靠经过验证的代码
  • 至于决定何时将数据添加到数据库:这取决于功能需求。用户期望发生什么以及何时发生
  • 编辑

    主细节在Silverlight中非常简单:

  • 创建一个集合
  • 将Items控件绑定到列表,并将其IsSynchronizedWithCurrentItem设置为true
  • 然后将ContentControl绑定到同一集合
  • 在ContentControl中添加ContentTemplate,该ContentControl包含使用绑定显示详细信息/字段的控件
  • 如果将内容控件放在UserControl中,则可以通过以下方式轻松支持向集合添加项: 1.将空项(或具有默认值)添加到集合 2.通过在ItemsCollection中选择新项目,使其成为当前项目。这样,新元素将可供编辑


    通过一些调整,可以支持更复杂的场景,但简而言之就是这样。

    在silverlight中,您可以手动编写标题视图(添加标签、文本框和