因此,WPF不支持CompositeCollections视图的标准排序或过滤行为,因此解决此问题的最佳做法是什么.
有两个或更多不同类型的对象集合.您希望将它们组合成单个可排序和可过滤的集合(必须手动实现排序或过滤).
我考虑过的一种方法是创建一个只有少数核心属性的新对象集合,包括我希望对集合进行排序的属性,以及每种类型的对象实例.
class MyCompositeObject
{
enum ObjectType;
DateTime CreatedDate;
string SomeAttribute;
myObjectType1 Obj1;
myObjectType2 Obj2;
{
class MyCompositeObjects : List<MyCompositeObject> { }
Run Code Online (Sandbox Code Playgroud)
然后遍历我的两个对象集合来构建新的复合集合.显然这是一种蛮力方法,但它会起作用.我将获得新的复合对象集合上的所有默认视图排序和过滤行为,并且我可以在其上放置数据模板以根据实际存储在该复合项目中的类型来正确显示列表项目.
有什么建议以更优雅的方式做到这一点?
我已经为我的UITableView节标题实现了一个自定义视图(通过viewForHeaderInSection).在普通视图模式下,默认行为似乎是单元格浮动在节标题下面,触摸事件会落到下面的单元格中.
如何让自定义节标题视图首先响应其边界内的任何触摸事件并采取一些操作,而不是将事件传递到节标题视图下面的单元格?