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

| 我想绑定到ListBox的视口宽度。也就是说,内容区域的宽度,不包括边框或滚动条: 当垂直滚动条可见时,我想要左侧边框和滚动条之间的区域宽度; 当垂直滚动条不可见时,我想要左右边框之间的区域宽度。 另外,我可以处理一些告诉我垂直滚动条当前是否可见的内容。 这是针对将在列表框外部的控件-我想将其放置在列表框的视口上方,并确保其宽度始终与视口相同。即,我想将其宽度绑定到ListBox的视口宽度。     
已邀请:
您想要做的是非常特定于
ListBox
控制模板的内部的。在后面的代码中,您可以轻松找到
ScrollViewer
,然后可以使用以下有用的属性: ScrollViewer.ComputedVerticalScrollBarVisibility ScrollViewer.ViewportWidth 控制目标控件的宽度。但是这种紧密的耦合是复合控件的特征,如果相反,您覆盖
ListBox
控件模板并在开始时包含目标控件,您将发现您可以从XAML完全访问
ScrollViewer
及其有用的属性,并且可以关联宽度具有绑定,而没有尝试维护独立控件所引起的所有问题。     
您可以使用\“绑定路径=宽度,ElementName = abc \”。 如果您只想将控件停靠在另一个控件的顶部,则也可以使用Grid     

要回复问题请先登录注册