wpf - 如何强制 WPF DataGrid 在一行后面实例化新的 viewmodel 对象?
问题描述
我有一个带有几个单选按钮列和几个文本框列的 WPF DataGrid。
所有列都是 DataGridTemplateColumns,因此我可以自定义字符串显示格式。(不确定这是否与任何事情有关。)
有两列带有单选按钮,它们应该组合在一起以允许用户选择一个或另一个。
在一行后面的视图模型中,有代码为这对单选按钮生成一个唯一的组名,以便每一行都有自己的一组互斥选项。
问题是,在激活文本框之前,DataGrid 似乎不会实例化行的视图模型。那是触发构造函数的时候。在那之前,没有唯一的组名,因此用户可以选择两个单选按钮。一旦构造函数运行,单选按钮就会正常运行。
有没有办法在 DataGrid 显示新行时强制实例化视图模型?
解决方案
单选按钮应该有一个可以绑定的命令 - 允许您以编程方式实例化视图模型。您可以将行的数据上下文作为命令的参数发送(这甚至可能强制实例化),然后您可以实例化它并将其添加到 DataGrid 用作 DataSource 的集合中(如果它仍然为空)。
推荐阅读
- python - How to calculate x*x.T in python
- python - pandas matrix calculation till the diagonal
- android - Flutter Release Apk Display black screen Issue on Startup
- ios - Json 解码为具有动态值类/结构类型的 swift 类
- nginx - Hostname (SNI) missing while using nginx ingress SSL Passtrough to underlying service
- r - 从R中数字向量的每个元素中提取第一个数字
- python - CMake:检查 Python3 和 Python 包的存在
- .net - 使用 serilog 时,我应该在生产中将日志写入什么?
- c# - Unity - 两秒钟后加载场景
- postgresql - 表内的 Postgresql 数据库备份