微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何绑定到列表框的视口宽度即没有滚动条的宽度?

如何解决如何绑定到列表框的视口宽度即没有滚动条的宽度?

| 我想绑定到ListBox的视口宽度。也就是说,内容区域的宽度,不包括边框或滚动条: 当垂直滚动条可见时,我想要左侧边框和滚动条之间的区域宽度; 当垂直滚动条不可见时,我想要左右边框之间的区域宽度。 另外,我可以处理一些告诉我垂直滚动条当前是否可见的内容。 这是针对将在列表框外部的控件-我想将其放置在列表框的视口上方,并确保其宽度始终与视口相同。即,我想将其宽度绑定到ListBox的视口宽度。     

解决方法

您想要做的是非常特定于
ListBox
控制模板的内部的。在后面的代码中,您可以轻松找到
ScrollViewer
,然后可以使用以下有用的属性: ScrollViewer.ComputedVerticalScrollBarVisibility ScrollViewer.ViewportWidth 控制目标控件的宽度。但是这种紧密的耦合是复合控件的特征,如果相反,您覆盖
ListBox
控件模板并在开始时包含目标控件,您将发现您可以从XAML完全访问
ScrollViewer
及其有用的属性,并且可以关联宽度具有绑定,而没有尝试维护独立控件所引起的所有问题。     ,您可以使用\“绑定路径=宽度,ElementName = abc \”。 如果您只想将控件停靠在另一个控件的顶部,则也可以使用Grid     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。