如何在WPF应用程序中构建动态数据输入表单?
我正在计划一个
WPF应用程序
>能够创建动态数据输入表单(意味着表单从数据库中的数据获取要显示的字段,它们的顺序等,而不是来自XAML) 以下是我计划如何进行的:在客户数据输入视图中,我将设置数据上下文: <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应用程序? 解决方法
您必须为各种字段数据类型编写数据模板,以便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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |