0

我的数据模型是这样的:

    public class ModelA
    {
    public int ModelId{get;set;}
    }
    public class ModelB
    {
      public IEnumerable<ModelA> ChildObjects{get;set;}
    }

现在在 Xaml 中,我使用 DataGrid 和 ItemSource 作为 List(),并有一个模板列绑定到 ChildObjects,转换器执行从 ChildObjects 获取第一个元素并将值作为该对象的 ModelId 返回的工作。现在一切正常,直到现在。问题是当我对这个模板列进行排序时。

我知道一种解决方法是在 ModelB 中有一个额外的属性,它可以完成转换器正在执行的工作,并将 xaml 中的 sortmemberpath 作为该新属性名称,但这不是我想要的,因为它与模型相对。

有没有其他完美的方法来处理这种情况,因为 SortMemberPath 不能像它只是一个常量那样表达。

4

1 回答 1

0

您已标记此 MVVM,我认为这意味着您的模型实际上是视图模型(或至少被视图模型包装)。既然如此,为什么添加额外的属性?毕竟,它的存在是为了支持这种观点。您的视图需要额外的属性,因此您的视图模型应该提供它。

于 2013-02-19T11:42:09.803 回答