WPF MVVM模式如何控制DataGrid的列隐藏和显示

现在有好几十列,根据复选框选中与否显示,该怎么弄,求大神指导啊

ViewModel定义bool类型属性,实现INotifyPropertyChanged接口,绑定到DataGrid列的Visibility属性和CheckBox的IsChecked属性就好了。
希望对你有帮助,还有疑问请追问或是Hi追问

我知道那样可以但是现在DataGrid有七十多列我写了七十个DataGridTextColumn,写七十多个bool属性分别绑定这样不好吧

追答

ViewModel倒是没什么问题,可以用List,但是View你怎么办?界面上放70多个CheckBox?你是不是重新考虑一下实现方式呢

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2016-09-02
首先想到的是使用DataGridComboBoxColumn来实现,可是在绑定数据的时候出现了问题,数据怎么也绑定不上。后来经过多方查证,发现原来DataGridComboBoxColumn对数据源有限制,只能是一下3中情况之一:
1、静态资源。
2、x:静态代码实体。
3、ComboBoxItem类型的内联集合。
基于扩展性、代码规范等情况考虑,这三种方案都被否决了。

WPF MVVM模式如何控制DataGrid的列隐藏和显示
ViewModel定义bool类型属性,实现INotifyPropertyChanged接口,绑定到DataGrid列的Visibility属性和CheckBox的IsChecked属性就好了。希望对你有帮助,还有疑问请追问或是Hi

WPF 入门教程DataGrid基本功能
从基本用法开始,无需设置任何属性,DataGrid就能显示数据。首先,创建一个User对象列表作为数据源,如这样简单操作即可启动:初次体验DataGrid的便利性在于它能自动根据数据源调整列。然而,在需要更多控制时,可以手动定义列,包括选择要显示和编辑的属性,甚至使用自定义控件。例如,一个示例中,我们手动定义...

WPF 入门教程 DataGrid数据绑定
要显示基本数据网格,只需将DataGrid控件拖放到您的视图中并将其绑定ItemsSource到数据对象集合即可。DataGrid 提供了一项称为AutoGenerateColumns根据数据对象的公共属性自动生成列的功能。它生成以下类型的列:推荐一款好用的WPF MVVM框架开源控件库 Newbeecoder.UI 手动定义列 AutoGenerateColumns 或者,您可以...

WPF UI开发教程自定义DataGrid样式
通过设置AlternationIndex属性,我们可以控制单双数行的背景颜色。同时,当鼠标移动到行上时,也会改变背景颜色。对于DataGridCell,我们可以设置对齐方式、文本内容对齐方式以及选中单元格的背景颜色。接下来,我们将设置DataGridColumnHeader的头部样式,主要包括宽度、高度、字体大小、光标样式,以及重写Thumb样式。...

C# WPF DataGrid 在删除了数据源中的一行,但是在UI界面用没有删除对应...
不用象jielizao110所说再重新绑定一下。另 ObservableCollection 定义在System.Collections.ObjectModel中,使用它时不要忘记在程序中 加上 using System.Collections.ObjectModel;你如果写WPF架构的程序,建议你学习一下MVVM模式,并了解一下MvvmLight ...

相似回答