我是一个新手程序员,我一直把它作为一种爱好而不是一种职业。因此,我正在为我工作的公司编写一个生成发票的应用程序。我有发票工作,它从我们的供应商那里获取数据,匹配客户、产品和费率等,并生成发票。我现在正在尝试美化它并允许编辑客户和费率详细信息。部分原因是我有许多表保存查找值,例如增值税率、加价值、自定义费率。
我正在用 WPF、C#、.Net 4 编写应用程序。我也在尝试使用 MVVM 模式来分离图层。
我创建了一个名为 EditLookupTableViewModel 的通用 VeiwModel,它处理与数据层和所有其他部分的对话。我的问题是视图。我想创建一个可以处理我在上述类中允许的所有数据类型的单一视图。我坚持的一点是这个。
我想将数据显示为数据库表中当前值的列表,并允许人们编辑这些值或添加新值。各种数据类型都基于通过 Entity Framework 4 访问的 SQL 数据库中的表。这些表并不都具有相同数量或类型的列。
如果我使用 DataGrid 控件将数据显示为列表,如何根据显示的数据类型更改列类型?
我一直在各种网站上搜索,但没有找到适合的任何东西。
我以为我可以使用 DataTemplate,然后使用 DataTemplateSelector,但我看不到为 DataGrid 创建 DataTemplate 的任何方法。
然后我想我会使用 ContentPresenter 但我看不到你会如何选择模板。
理想情况下,我想使用某种 og TemplateSelector,因为我可以从代码中控制模板,因为几个表具有相同的结构,因此为那些相同的表重用模板会很棒。
任何帮助将不胜感激,因为我确信必须有一个比创建多个视图更优雅的解决方案。
谢谢
西蒙