0

私のデータモデルは次のようなものです。

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

Xamlでは、ItemSourceをList()として使用してDataGridを使用しており、ChildObjectsから最初の要素を取得してそのオブジェクトのModelIdとして値を返すコンバーターを使用して、ChildObjectsにバインドするテンプレート列があります。これで、これまですべて正常に動作します。問題は、このテンプレート化された列で並べ替えを行うときです。

回避策の1つは、コンバーターが実行していることを実行する追加のプロパティをModelBに設定し、その新しいプロパティ名としてxamlのsortmemberpathを作成することですが、それはモデルに対して私が望んでいることではありません。

SortMemberPathは単なる定数のように式として作成できないため、このシナリオを処理する他の完璧な方法はありますか。

4

1 に答える 1

0

このMVVMにタグを付けました。これは、モデルが実際にビューモデルである(または少なくともビューモデルでラップされている)ことを意味すると思います。そういうわけで、なぜあなたは余分なプロパティを追加しませんか?結局のところ、それはビューをサポートするためにあります。ビューには追加のプロパティが必要なので、ビューモデルがそれを提供する必要があります。

于 2013-02-19T11:42:09.803 に答える