DevExpress WPF使用技巧教程:在GridControl中固定行時(shí)處理時(shí)刻
DevExpress廣泛應(yīng)用于ECM企業(yè)內(nèi)容管理、 成本管控、進(jìn)程監(jiān)督、生產(chǎn)調(diào)度,在企業(yè)/政務(wù)信息化管理中占據(jù)一席重要之地。通過DevExpress WPF Controls,您能創(chuàng)建有著強(qiáng)大互動(dòng)功能的XAML基礎(chǔ)應(yīng)用程序,這些應(yīng)用程序?qū)W⒂诋?dāng)代客戶的需求和構(gòu)建未來新一代支持觸摸的解決方案。 無論是Office辦公軟件的衍伸產(chǎn)品,還是以數(shù)據(jù)為中心的商業(yè)智能產(chǎn)品,都能通過該控件來實(shí)現(xiàn)。
本文 將為大家介紹如何在GridControl中固定行時(shí)處理時(shí)刻。在接下來的系列文章中,小編將為大家介紹一些DevExpress WPF控件的使用技巧和提示,希望能幫助到大家!
問題:
1. 當(dāng)正在使用TableView的行固定功能時(shí),需要在行固定時(shí)觸發(fā)事件,應(yīng)該如何操作?
2. 使用CollectionChanged方法,但這給了正在固定行的時(shí)刻而不是已經(jīng)固定的時(shí)刻。當(dāng)正在獲取VisibleRowHandles并嘗試與創(chuàng)建的圖表同步TableView行時(shí),它不會(huì)更新,因?yàn)榇藭r(shí)行在視覺上還未固定。有什么方法可以確認(rèn)行在視覺上是否已經(jīng)固定?
解決方案:
1. 盡管TableView不提供已經(jīng)固定行時(shí)引發(fā)的特殊事件,但您可以將TableView.FixedTopRows屬性綁定到支持INotifyCollectionChanged的集合(例如ObservableCollection
public ObservableCollection FixedItems = new ObservableCollection(); tableView1.FixedTopRows = FixedItems; FixedItems.CollectionChanged += FixedItems_CollectionChanged;... private void FixedItems_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e) { }
2. 如果您繼續(xù)使用這種方法,但是會(huì)在很小的延遲下執(zhí)行自定義邏輯,該怎么辦? 為此,您可以使用Dispatcher.BeginInvoke方法:
private void FixedItems_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e) { Dispatcher.CurrentDispatcher.BeginInvoke(new Action(() => { //your logic }), DispatcherPriority.Loaded); }
===============================================================
DevExpress v19.2即將發(fā)布,最新動(dòng)態(tài)請(qǐng)持續(xù)關(guān)注DevExpress中文網(wǎng)!
DevExpress中文網(wǎng)官網(wǎng)QQ群:540330292 歡迎一起進(jìn)群討論
掃描關(guān)注DevExpress中文網(wǎng)微信公眾號(hào),及時(shí)獲取最新動(dòng)態(tài)及最新資訊