我确信这很简单,但我似乎无法弄明白。基本上,我试图强迫ListBoxItem
允许自己超出ListBox
宽度。例如,我们假设每个ListBox
都有一个粗略的TextBox
ListBoxItem
:
<ListBox HorizontalContentAlignment="Stretch">
<ListBoxItem>
<TextBox TextWrapping="Wrap"/>
</ListBoxItem>
<ListBoxItem>
<TextBox TextWrapping="Wrap"/>
</ListBoxItem>
<ListBoxItem>
<TextBox TextWrapping="Wrap"/>
</ListBoxItem>
</ListBox>
如果您要输入它们,那么TextWrapping
设置为Wrap
的文本将继续向右移动,如ListBoxItem
和{ListBox
的宽度{1}}调整内容的宽度(请注意HorizontalScrollBar
出现):
我确定这是一个预期的行为,可能是由模板中的ScrollViewer
引起的,但我希望文本包装并包含在原始宽度内。我可以通过设置一个静态宽度来解决这个问题,但这将是一个粗略的设计决定,而不是我想要做的事情(它会限制事情的重新调整大小)。
基本上,我寻求的行为是ItemsControl
:
<ItemsControl>
<TextBox TextWrapping="Wrap"/>
<TextBox TextWrapping="Wrap"/>
<TextBox TextWrapping="Wrap"/>
</ItemsControl>
我只想保留ListBox
控件,因为它需要我的其他行为。有什么想法吗?
答案 0 :(得分:5)
这将禁用水平滚动(即使它听起来只是禁用可见性):
<ListBox HorizontalContentAlignment="Stretch"
ScrollViewer.HorizontalScrollBarVisibility="Disabled">