C#/WPF高手进!如何获取ListBox的Item的高度。
我用如下代码可以获取指定item的高度ListBoxItemcontainer=listBox1.ItemContainerGenerator.ContainerFrom...
我用如下代码可以获取指定item的高度
ListBoxItem container = listBox1.ItemContainerGenerator.ContainerFromItem(listBox1.Items[0]) as ListBoxItem;
double height= container.ActualHeight;
但是如果此时ListBox没有一行数据呢?那container 就是null,但是此高度应该是不变的,此时如何得到高度? 展开
ListBoxItem container = listBox1.ItemContainerGenerator.ContainerFromItem(listBox1.Items[0]) as ListBoxItem;
double height= container.ActualHeight;
但是如果此时ListBox没有一行数据呢?那container 就是null,但是此高度应该是不变的,此时如何得到高度? 展开
展开全部
没有ListBoxItem通过获取对象然后找actualHeight自然是不行的,如果没有listBoxItem,那么还要获取它的高度,只能通过新建一个Listboxitem,然后获取其高度,之后再删除即可,或者获取listboxItem的默认高度。
追问
我看你的回答记录里面根本没有WPF,不懂就别回答了。
追答
要不要哥把用wpf做的游戏拿出来给你玩玩?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Listbox没一行数据为什么还要得到listbox高度?如果你不去定制ListboxItem模板的话,我们知道通常是通过listbox的DisplayMemberPath去设定显示内容的,哪怕所绑定的属性为空,但由于listboxItem的datacontext不为null,SelectedItem不为null。显示为空的listboxItem还是客观存在的,与其他有数据的listboxItem一致,只是显示值为空。你点它可以发现它的高度也与其他一样。
追问
这样说吧,我需要知道它的默认高度,因为这个高度是不变的。
追答
它的默认高度是在listboxItem的Style里设置的。你可以通过拿到listboxItem的Style,解析样式里的Height属性。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询