我正在通过 Caliburn Micro 使用 MVVM。我有一个绑定到视图模型列表的数据网格。我在后台线程中运行一个进程,一次更新一个数据网格的项目视图模型。
一切都很好,数据网格的项目会随着每个项目视图模型的更新而实时更新,正如您所期望的那样。
一个小问题:当一个项目的视图模型发生更新时,数据网格的布局被弄乱了。例如,如果我将项目的状态从“OK”更新为“哦,不,发生了一些糟糕的事情”,该列的大小会适当调整,但随后的列会缩小,从而掩盖其中的内容。
如果我刷新整个网格,那么一切都会得到适当的布局。
由于我使用的是 MVVM,因此我无法访问 datagrid 控件本身,因此无法直接使用 datagrid 的 UpdateLayout 方法。
我可以使用 CM 的 ViewAware 视图模型,但这似乎是不必要的。
有任何想法吗?