第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

WPF GridViewColumnHeader.Click - 獲取 ItemsSource

WPF GridViewColumnHeader.Click - 獲取 ItemsSource

C#
Smart貓小萌 2022-11-21 20:10:39
我有一個 WPF 頁面,其中有幾個ListViews. 我想在單擊時對列表進行排序headers,這沒有問題,但現(xiàn)在我為每個 ListView 創(chuàng)建一個單獨的函數(shù),我想創(chuàng)建一個通用函數(shù)。假設(shè)我想替換它:contexte.ListeDesAssemblagesView.SortDescriptions.Clear();contexte.ListeDesAssemblagesView.SortDescriptions.Add(monsort);通過類似的東西:sender.ItemsSource.SortDescriptions.Clear();sender.ItemsSource.SortDescriptions.Add(monsort);編輯:這是由于 mm8 而修改的我的函數(shù)代碼。void GridViewColumnHeaderClickedHandler(object sender, RoutedEventArgs e){    GridViewColumnHeader headerClicked = e.OriginalSource as GridViewColumnHeader;    ListSortDirection direction;    ListView listView = sender as ListView;    ICollectionView view = CollectionViewSource.GetDefaultView(listView.ItemsSource);    string header = "";    if (headerClicked.Column.DisplayMemberBinding != null)    {        header = ((System.Windows.Data.Binding)headerClicked.Column.DisplayMemberBinding).Path.Path;    }    else    {        try        {            DataTemplate cellTemplate = headerClicked.Column.CellTemplate;            Grid grid = cellTemplate.LoadContent() as Grid;            TextBlock textBlock = grid.Children.OfType<TextBlock>().FirstOrDefault();            header = BindingOperations.GetBinding(textBlock, TextBlock.TextProperty).Path.Path;        }        catch        {        }    }    string lastHeaderName = view.SortDescriptions[0].PropertyName;    string lastDirection = view.SortDescriptions[0].Direction.ToString();    if (headerClicked != null)    {        if (headerClicked.Role != GridViewColumnHeaderRole.Padding)        {            if (header != lastHeaderName)            {                direction = ListSortDirection.Ascending;            }            else            {                if (lastDirection == "Ascending")                {                    direction = ListSortDirection.Descending;                }                else                {                    direction = ListSortDirection.Ascending;                }            }
查看完整描述

1 回答

?
慕森王

TA貢獻1777條經(jīng)驗 獲得超3個贊

如果您將事件處理程序連接到ListViews您的 XAML 標記中,如下所示:


<ListView GridViewColumnHeader.Click="GridViewColumnHeaderClickedHandler">

...你可以簡單地提出sender論點:


void GridViewColumnHeaderClickedHandler(object sender, RoutedEventArgs e)

{

    ListView listView = sender as ListView;

    ICollectionView view = CollectionViewSource.GetDefaultView(listView.ItemsSource);

    //...

}


查看完整回答
反對 回復(fù) 2022-11-21
  • 1 回答
  • 0 關(guān)注
  • 181 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號