Xaml で、ソースが Order 型のオブジェクトの監視可能なコレクションに設定されている CollectionViewSource があるとします。
public class Order
{
public int ContractID
{
get;
set;
}
public double? Price
{
get;
set;
}
public OrderSide Side
{
get;
set;
}
}
public enum OrderSide
{
BID,
ASK
}
Bid 注文は、Side プロパティが BID、Ask が ASK である注文です。問題は、注文を現在の形式で表示する必要があることです
Grouped by ContractID
Bids (Descending) Asks (Ascending)
より具体的には、問題は、ビッドとアスクを並べて表示する必要があることです。
したがって、たとえば次のコレクションでは、
var orders = new List<Order>()
{
new Order(){ContractID=1,Price=10,Side=OrderSide.BID},
new Order(){ContractID=1,Price=11,Side=OrderSide.ASK},
new Order(){ContractID=1,Price=9,Side=OrderSide.BID},
new Order(){ContractID=1,Price=11.5,Side=OrderSide.ASK},
new Order(){ContractID=2,Price=20,Side=OrderSide.BID},
new Order(){ContractID=2,Price=24,Side=OrderSide.ASK},
new Order(){ContractID=2,Price=21,Side=OrderSide.BID}
};
次のようにレンダリングされます
1
10 11
9 11.5
2
21 24
20
フィルタリングされた CollectionViewSource と datatemplateselectors の組み合わせを使用する必要があると思います..?
おまけとして、グループ化の行にベストビッドとベストアスクを表示できるようにしたいです。したがって、同じデータを使用すると、次のようにレンダリングされます
1 10 11
10 11
9 11.5
2 21 24
21 24
20
どんな助けでも大歓迎です-