WPF的ListBox控件,获取元素宽度和高度

最近开发一个桌面的即时通讯软件,用的WPF框架。

消息列表用的是ListBox,需要获取用户滚动的当前ListBox的子元素。在Stackoverflow或MSCN也找不到具体有有效方法,用VisualTreeHelper也无法获取。之前找了一天没找到,今天在一个偶然的情况下总算找到了:

ListBoxItem item= MessageListBox.ItemContainerGenerator.ContainerFromItem(MessageListBox.Items[0]) as ListBoxItem;
double height = item.ActualHeight;
double width = item.ActualWidth

 

WPF.NET 6.0中的ListBox控件是一种用于显示列表数据的控件。它可以在界面上显示多个项,并允许用户选择其中的一个或多个项。引用\[1\]中列举了一些常见的WPF控件,其中包括ListBox。 在VC6中创建一个MFC AppWizard (exe)项目,并选择dialog based模板后,可以在dialog中插入一个ListBox控件。可以通过修改ListBox的属性来改变其样式,比如将Styles中的Owner draw改为Fixed或Variable。\[2\] 在XAML中,可以使用附加属性来控制ListBox的行为。例如,可以使用Trigger来判断附加属性PasswordLength是否等于0,如果是,则显示水印。具体的代码可以参考引用\[3\]中的示例。 总结起来,WPF.NET 6.0中的ListBox控件是一种用于显示列表数据的控件,可以通过修改属性来改变其样式,并且可以使用附加属性来控制其行为。 #### 引用[.reference_title] - *1* *3* [WPF 基础控件之 PasswordBox 样式](https://blog.csdn.net/zls365365/article/details/124642528)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [改变ListBox中文本的颜色以及其他](https://blog.csdn.net/wu5318/article/details/11381417)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值