问题:
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进行处理,非常感谢!