在 Xaml 中,假设我有一个 CollectionViewSource,它的源设置为 Order 类型的对象的可观察集合:
public class Order
{
public int ContractID
{
get;
set;
}
public double? Price
{
get;
set;
}
public OrderSide Side
{
get;
set;
}
}
public enum OrderSide
{
BID,
ASK
}
投标订单是一个侧属性为 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
非常感谢任何帮助 -