我有ListView
和ListBox
。 ListView
显示一些绑定到列表的数据。
ListBox
用作菜单。当我单击菜单中的项目时,我更改了绑定的源列表,因此ListView
显示更新的内容。
现在我希望通过以下方式获取ListView
中的所有可见项:
var scrollViewer = GetVisualChild<ScrollViewer>(myListViewControl);
if (scrollViewer != null)
{
Console.WriteLine("Visible Item Start Index:{0}", scrollViewer.VerticalOffset);
Console.WriteLine("Visible Item Count:{0}", scrollViewer.ViewportHeight);
}
所以我订阅了一些活动。例如,ValueChanged
的{{1}}和SizeChanged
事件,ScrollBar
SelectionChanged
事件以及绑定列表属性ListBox
接口。
但我只是在每次INotifyPropertyChanged
scrollViewer.VerticalOffset
事件加注之后得到之前的观点ListBox
。我想当我收到事件通知时,SelectionChanged
已经不存在观点。
所以,我的问题是,如何立即获取更新的视图ListView
和scrollViewer.VerticalOffset
,而不是之前的视图?我需要通过这些项目请求服务器。