- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我必须创建一个 XamDataGrid,它显示时间范围 x 到 y 的动态列数。因此,我不知道用户会选择多少年来预先创建这些列。
现在通常在 MVVM 中,您只需通过 XamDataGrid 中所需的列填充数据,后者只会自动生成它们。
显然,我不能只在运行时在我的 ViewModel 中创建属性,除非我对反射做了一些疯狂的事情。
我还能如何实现这一目标?
我应该为数据网格创建未绑定(bind)字段并通过代码填充它们吗?我同意在这个阶段我不需要双向绑定(bind),因为网格只是只读的......只是大声思考。
这种方法可以在不违反 MVVM 模式的情况下使用吗?
谢谢
最佳答案
您可以使用索引器:
在您的 View 模型中:
public MyVariableCollection RowData
{
get { return new MyVariableCollection(this); }
}
MyVariableCollection
:
public MyVariableCollection(SomeRowViewModel viewmodel)
{
this.viewModel = viewmodel;
}
public object this[string name]
{
get { return viewModel.GetRowColumnValue(name); }
}
{Binding Path=SomeRowViewModelInstance.RowData["ColumnName"]}
ComponentModel
命名空间以生成自定义
TypeDescriptor
.它相当深入,但您可以使对象“看起来”具有附加或自定义属性。它比我在上面发布的索引器方法复杂得多,但如果你遇到困难,值得一看。
关于.net - MVVM - 如何在运行时为 xamdatagrid 创建列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3425972/
美好的一天! 我有数据源,它是 100% 填充的。我敢肯定,因为当 AutoGenerateFields 属性设置为 True 时,所有可用数据都会被接收并成功显示。但是,我真正需要实现的是只显示固定
我有 Infragistics XamDataGrid,其中有几列以百分比显示数据。 现在我希望这些列将值显示为百分比,将背景显示为 2 色渐变,其中第一种颜色将绑定(bind)到百分比值,而第二种颜
我正在尝试更改 xamDataGrid 中过滤记录的背景颜色。 我试过了 按照 Infragistics 论坛上的建议,以及 但它们都不起作用,我的过
我正在尝试在 MVVM 体系结构中实现 XamDataGrid 列可见性,但它似乎不起作用。 我正在执行以下操作: 为未绑定(bind)的字段添加 Visiblility 属性 - 在我的 View
我需要能够支持 XamDataGrid,它在设计时不会有一定数量的列。例如,应用程序将运行,从服务器获取一些数据并创建一些对象。根据服务器的响应,每次运行应用程序时我可能有不同数量的对象。 这是我的意
我有一种情况,我将 XamDataGrid 的 DataSource 设置为 ViewModel 列表。因此,我的 XamDataGrid 预计会有多行。我想将给定单元格的可编辑性绑定(bind)到单
好的,我花了 2 天时间试图弄清楚如何做到这一点,并且到目前为止已经获得了“失败”的分数。 设计是这样的: ViewModel 类公开了一个名为 People 的公共(public) Observab
现在我正在尝试将 WPF DataGrid 的 RowDetails 功能之类的功能实现到 XamDataGrid 中。我尝试做的事情(到目前为止失败了): 1.) 替换 ExpandableFiel
我们有一个 Infragistics xamDataGrid将 DataSource 绑定(bind)到 BindingList。我们通过标题在组上设置了一些自定义文本,每次添加或删除项目时都需要重置
我使用 XamDataGrid 来显示标题名称非常长的表格。 header 名称最重要的部分是它的后缀。 有什么方法可以配置列标题,当列宽小于文本大小时,我会看到后缀作为标题? 例子: 要求的结果:
我有一个 multiBinding 效果很好, 我希望能够对特定列进行排序,它显示 w:width、h:height 据我所知,我需要构建一个自定义 IComparer 类来进行比较。 这是我的 XA
我正在开发一个包含许多基础架构 XamDataGrid 的应用程序。我想至少为它们提供复制到剪贴板的能力。这可以在每个网格的 XAML 中轻松实现,方法是:
我需要一种方法让 View 模型指示 View 上的 XamDataGrid 以最少的麻烦重新读取和重新绘制其单元格。我不想弄乱源代码并做一些不可持续的解决方法来引发它的事件(源代码可能会改变)。 为
我的应用程序中有几个 XamDataGrid,我希望它们在用户更改其中的复选框后立即启用各自的“保存”按钮。这目前不会发生,直到我离开单元格或按回车键等,因为单元格仍处于编辑模式。我知道如何使用我在代
我必须创建一个 XamDataGrid,它显示时间范围 x 到 y 的动态列数。因此,我不知道用户会选择多少年来预先创建这些列。 现在通常在 MVVM 中,您只需通过 XamDataGrid 中所需的
我正在使用具有 MVVM 架构的 WPF,我面临的问题是当我向网格添加一条新记录并按回车键时,该记录未设置为事件记录。只有当我点击其他记录,然后再次点击新记录时,它才会更新。 有没有办法可以将新添加
我在带有滚动条的控件中使用 Infragistics XamDataGrid。父控件中还有其他几个控件,我需要能够在父控件中自由滚动。但是,只要鼠标悬停在 XamDataGrid 上,XamDataG
我有一个 MVVM C#/WPF 应用程序。我想将 XamDataGrid 绑定(bind)到我的一个 View 模型,以便用户可以定义他们想要的结果结构 - 将什么列映射到什么变量。 我的核心拥
在我正在处理的应用程序中,如果用户不是管理员,则不得允许他更改数据。但他仍然必须能够对数据进行只读访问。 如果我禁用了网格本身,我将无法滚动浏览记录,也无法使用 infragistics XamDat
我们正在 WPF 应用程序中实现 MVVM 架构。我们想使用 Infragistics XamDataGrid,但是对于在 View 模型层上实现选择更改事件有点迷失。 任何帮助将不胜感激。 我们迫切
我是一名优秀的程序员,十分优秀!