DevExpress WPF使用技巧教程:在GridControl中固定行时处理时刻

问题:

1. 当正在使用TableView的行固定功能时,需要在行固定时触发事件,应该如何操作/p>

2. 使用CollectionChanged方法,但这给了正在固定行的时刻而不是已经固定的时刻。当正在获取VisibleRowHandles并尝试与创建的图表同步TableView行时,它不会更新,因为此时行在视觉上还未固定。有什么方法可以确认行在视觉上是否已经固定/p>

解决方案:

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);}

===============================================================

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年9月23日
下一篇 2019年9月25日

相关推荐

发表回复

登录后才能评论