MVVM方式,允许数据在WPF中以多种不同方式显示



我有一个应用程序,它解析用户的数据,并使用WPF在DataGrids中显示有关它的信息。但是,每个用户只希望为每个网格显示某些字段。

现在,我为每个表使用多个数据网格,并选择一个用枚举显示。

避免有很多重复的xaml代码,并允许在遵守MVVM模式的同时添加新配置的最佳方法是什么?

DataGridColumn支持Visibility属性,该属性可以是可见的,也可以是折叠的。

您可以将此属性绑定到视图模型中的字段,以便视图模型可以控制哪些列可见,哪些列不可见。

您甚至可以编写转换器,将您已经拥有的enum转换为任何给定列的Visibility值,从而根据MVVM范式,使您的视图模型不受实质性表示问题的影响。

这可能会因为没有足够的焦点而被标记。这在很大程度上取决于你试图显示的数据的确切性质,即使这样,它也往往是基于观点的。

也就是说,如果您希望根据数据类型更改外观,则通常使用数据模板,而如果您希望显示根据已知类型的值更改,则通常会使用数据触发器。

最新更新