如何在WPF应用程序中构建动态数据输入表单?

如何在WPF应用程序中构建动态数据输入表单?,第1张

概述我正在计划一个 WPF应用程序 >能够创建动态数据输入表单(意味着表单从数据库中的数据获取要显示的字段,它们的顺序等,而不是来自XAML) >如果可能,使用MVVM模式 以下是我计划如何进行的:在客户数据输入视图中,我将设置数据上下文: <UserControl.DataContext> <vm:DynamicFormViewModel/></UserControl.DataContex 我正在计划一个 WPF应用程序

>能够创建动态数据输入表单(意味着表单从数据库中的数据获取要显示的字段,它们的顺序等,而不是来自XAML)
>如果可能,使用MVVM模式

以下是我计划如何进行的:在客户数据输入视图中,我将设置数据上下文:

<UserControl.DataContext>    <vm:DynamicFormviewmodel/></UserControl.DataContext>

然后在我的XAML中包含一个元素作为表单的占位符:

<UserControl.Content>    <vIEw:DynamicFormVIEw x:name="CustomerEntry"/></UserControl.Content>

然后在我的ModelVIEw中,我希望不具有静态属性,但我希望以这种方式将XAML构建为ASP.NET中的一个构建的HTML控件:

VIEw vIEw = new VIEw();vIEw.Children.Add(...)

并以这种方式基于viewmodel从Model获取的数据(firstname,lastname)和元数据(字段标签,字段名称,字段帮助文本,字段显示顺序等)的集合构建GrID.

>有没有人构建一个可以这种方式创建动态表单的WPF应用程序?
>你使用MVVM模式吗?
>是否可以以这种方式使用MVVM模式,或者MVVM模式是否预先假定VIEw模型中直接绑定到VIEw中静态元素的静态字段?

解决方法 您必须为各种字段数据类型编写数据模板,以便WPF根据其类型选择如何显示数据.这种格式的东西:

注意:这不是WPF只是伪代码

<DataTemplate DataType="{x:Type DateTime}">  <DatePicker Value="{Binding}"/></DataTemplate>  <DataTemplate DataType="{x:Type String}">  <TextBox Text="{Binding}"/></DataTemplate>

它不一定是原始类型.它可以是电子邮件,DateApproved甚至是Url类类型.例如

class Customer  {   public Email Email{get;set;}   public DateTime DateApproved{get;set;}   public URI Url{get;set;}}public class Email {   public string Type{get;set;}   public string Value{get;set;} }

..等等…

更新

在MSDN上查看此WPF动态UI示例:Dynamic Data Entry with WPF and LINQ

总结

以上是内存溢出为你收集整理的如何在WPF应用程序中构建动态数据输入表单?全部内容,希望文章能够帮你解决如何在WPF应用程序中构建动态数据输入表单?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1133488.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存