WPF ListView を使用してデータを表示します。メンバーを含むデータ モデル [ListView の DataContex として使用] を作成しました。
private CollectionViewSource itemEntryInfosView;
ListView の ItemsSource は itemEntryInfosView に設定されます。たとえば、 itemEntryInfosView がデータベースからダウンロードされたデータで満たされているとします。
データをソートするには[列をクリックした後]、次のメソッドを作成しました。
public void SortList_OnExecuting(object parameter)
{
var sortColumn = (string)parameter;
this.itemEntryInfosView.SortDescriptions.Clear();
if (this.sortAscending)
{
this.itemEntryInfosView.SortDescriptions.Add(
new SortDescription(sortColumn, ListSortDirection.Ascending));
this.sortAscending = false;
}
else
{
this.itemEntryInfosView.SortDescriptions.Add(
new SortDescription(sortColumn, ListSortDirection.Descending));
this.sortAscending = true;
}
}
itemEntryInfoView のソースが ItemEntry クラスによってパラメーター化された ObserverableCollection であるとしましょう (いくつかのパブリック プロパティを持つ単純なクラス、ListView は各プロパティの列を定義します) 。
すべてがチャラムのように機能していますが、機能を追加する必要があります。「新しい行を追加」のようなものを表す特別な行が必要です。そのような行は ItemEntry から継承できると思います。行はソートから除外する必要があります。(それは常に ListView の最後にあるとしましょう)。どうすればそのような機能を実現できますか?