私は7種類のListViewを持っています。
SortClick(object sender、RoutedEventArgs e)
というSortmethodがあります。
GridViewColumnHeaderをクリックすると、SortClickイベントが発生します。
しかし、この方法では、どのListViewをソートする必要があるのかを伝える必要があります。
listview2.SortNow();
今私の質問は、GridViewColumnHeader(送信者
)または多分 e
からControl(ListView)を取得する方法は可能ですか?
ListView XAMLの外観は次のとおりです。
ここにSortClickコードがあります:
///
/// Sortiert (Ascending/Descending)
///
/// sender
/// e
private void SortClick(object sender, RoutedEventArgs e)
{
//ListView listView = sender as ListView;
GridViewColumnHeader column = sender as GridViewColumnHeader;
String field = column.Tag as String;
if (currentSortColumn != null)
{
AdornerLayer.GetAdornerLayer(currentSortColumn).Remove(sorter);
listView.Items.SortDescriptions.Clear();
}
ListSortDirection newDir = ListSortDirection.Ascending;
if (currentSortColumn == column && sorter.Direction == newDir)
{
newDir = ListSortDirection.Descending;
}
currentSortColumn = column;
sorter = new Sorter(currentSortColumn, newDir);
AdornerLayer.GetAdornerLayer(currentSortColumn).Add(sorter);
listView.Items.SortDescriptions.Add(new SortDescription(field, newDir));
}