【发布时间】:2011-08-19 12:05:31
【问题描述】:
我有一个SortableListView,我通过绑定设置了 ItemsSource。类似于以下内容:
<SortableListView ItemsSource="{Binding Items}">
<SortableListView.View>
<GridView>
<SortableGridViewColumn
Header="Name"
SortProperty="ProductName"
DisplayMemberBinding="{Binding ProductName}"/>
</GridView>
</SortableListView.View>
</SortableListView>
当窗口显示时,我初始化并填充ObservableCollection<Item> Items。
现在我想在列表顶部添加一个(也是唯一一个)特殊项目,并始终将其保留为第一项,无论排序顺序如何。
目前我可以想到两种可能的方法来实现这一点:
- 为我的 ListView 创建一个非常特殊的数据模板,我可以在其中添加特殊项目和主题 ListView 以相应地处理所有内容。
- 绑定到标题并处理单击事件以在我的代码隐藏文件中执行排序并在顶部插入特殊项。
选项 1 看起来工作量太大太复杂,而选项 2 是我想避免的。
我缺少任何替代解决方案吗?如果没有,实现这一目标的最佳选择是什么,我应该如何处理主题选项?
【问题讨论】: