最近开发一个桌面的即时通讯软件,用的WPF框架。
消息列表用的是ListBox,需要获取用户滚动的当前ListBox的子元素。在Stackoverflow或MSCN也找不到具体有有效方法,用VisualTreeHelper也无法获取。之前找了一天没找到,今天在一个偶然的情况下总算找到了:
ListBoxItem item= MessageListBox.ItemContainerGenerator.ContainerFromItem(MessageListBox.Items[0]) as ListBoxItem;
double height = item.ActualHeight;
double width = item.ActualWidth