翻譯|使用教程|編輯:龔雪|2019-10-28 09:55:56.633|閱讀 442 次
概述:本文 將為大家介紹如何在GridControl中固定行時處理時刻,歡迎下載最新DevExpress WPF v19.1.7版本體驗新功能!
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
DevExpress廣泛應用于ECM企業內容管理、 成本管控、進程監督、生產調度,在企業/政務信息化管理中占據一席重要之地。通過DevExpress WPF Controls,您能創建有著強大互動功能的XAML基礎應用程序,這些應用程序專注于當代客戶的需求和構建未來新一代支持觸摸的解決方案。 無論是Office辦公軟件的衍伸產品,還是以數據為中心的商業智能產品,都能通過該控件來實現。
本文 將為大家介紹如何在GridControl中固定行時處理時刻。在接下來的系列文章中,小編將為大家介紹一些DevExpress WPF控件的使用技巧和提示,希望能幫助到大家!
問題:
1. 當正在使用TableView的行固定功能時,需要在行固定時觸發事件,應該如何操作?
2. 使用CollectionChanged方法,但這給了正在固定行的時刻而不是已經固定的時刻。當正在獲取VisibleRowHandles并嘗試與創建的圖表同步TableView行時,它不會更新,因為此時行在視覺上還未固定。有什么方法可以確認行在視覺上是否已經固定?
解決方案:
1. 盡管TableView不提供已經固定行時引發的特殊事件,但您可以將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. 如果您繼續使用這種方法,但是會在很小的延遲下執行自定義邏輯,該怎么辦? 為此,您可以使用Dispatcher.BeginInvoke方法:
private void FixedItems_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e) { Dispatcher.CurrentDispatcher.BeginInvoke(new Action(() => { //your logic }), DispatcherPriority.Loaded); }
===============================================================
DevExpress中文網官網QQ群:540330292 歡迎一起進群討論
掃描關注DevExpress中文網微信公眾號,及時獲取最新動態及最新資訊
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:慧都網