当相应的源值为空时,我试图显示一个包含“NULL”字符串的单元格而不是空白单元格。我正在使用 DataGrid
绑定(bind)到 DataTable
和 AutoGenerateColumns="True"
.
以前我设法通过 AutoGeneratedColumns 事件在代码隐藏中做到这一点,但现在我已经切换到 MVVM 设计,我想避免这种情况。
foreach (var column in dgwCustomTableSelected.Columns)
{
if (column is DataGridTextColumn)
{
((DataGridTextColumn)column).Binding =
new Binding() {
Converter = new NullValueConverter((string)column.Header)
};
}
}
我想知道是否有办法将转换器关联到所有数据网格列或任何其他可行的解决方案。
提前致谢
最佳答案
I was wondering whether there's a way to associate a Converter to all the datagrid columns or any other feasible solution to this.
“可行的解决方案”是处理
AutoGeneratingColumn
View 中的事件。或者在同一 View 的 XAML 标记中显式定义所有列。这两种方法都没有破坏 MVVM 模式,因为这是与 View 相关的功能,而 MVVM 并不是要从 View 中消除与 View 相关的代码。它主要是关于关注点分离和以编程方式执行与 View 相关的事情,而不是在 XAML 标记中执行它是非常好的。
关于c# - 当绑定(bind)属性为空时,WPF DataGrid 显示 'NULL',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45080168/