c# - 当绑定(bind)属性为空时,WPF DataGrid 显示 'NULL'

标签 c# wpf mvvm datagrid ivalueconverter

当相应的源值为空时,我试图显示一个包含“NULL”字符串的单元格而不是空白单元格。我正在使用 DataGrid绑定(bind)到 DataTableAutoGenerateColumns="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/

相关文章:

c# - 构建 SQL Where 来自委托(delegate)的查询

javascript - C# 不显示完整的 IP 地址

c# - 任务的返回类型错误

c# - 更改 DataGrid 列标题文本

c# - 隐式类型;为什么只是局部变量?

c# - WPF 绑定(bind)到自定义 DependencyProperty - IsChecked 有时是相反的属性值

c# - 缺少 WPF 程序集引用 - 项目仍在 build 中

android - Flutter 中的 MVVM 设计模式

WPF MVVM 共享数据源

wpf - 如何在 View Model 中设置 XamDataGrid Cell 的 Tooltip thru 属性