B.K*_*.K. 3 c# wpf listbox itemscontrol listboxitem
我确信这很简单,但我似乎无法弄明白.基本上,我试图强迫ListBoxItem自己超出ListBox宽度.例如,假设我们有粗ListBox有TextBox每个ListBoxItem:
<ListBox HorizontalContentAlignment="Stretch">
<ListBoxItem>
<TextBox TextWrapping="Wrap"/>
</ListBoxItem>
<ListBoxItem>
<TextBox TextWrapping="Wrap"/>
</ListBoxItem>
<ListBoxItem>
<TextBox TextWrapping="Wrap"/>
</ListBoxItem>
</ListBox>
Run Code Online (Sandbox Code Playgroud)
如果你要输入它们,那么它TextWrapping设置的文本Wrap将继续向右流动,作为宽度ListBoxItem和ListBox调整到内容的宽度(注意HorizontalScrollBar出现):

我确定这是一个预期的行为,可能是由ScrollViewer模板内部引起的,但我希望文本包装并包含在原始宽度内.我可以通过设置一个静态宽度来解决这个问题,但这将是一个粗略的设计决定,而不是我想要做的事情(它会限制事物很容易重新调整大小).
基本上,我正在寻求的行为是ItemsControl:
<ItemsControl>
<TextBox TextWrapping="Wrap"/>
<TextBox TextWrapping="Wrap"/>
<TextBox TextWrapping="Wrap"/>
</ItemsControl>
Run Code Online (Sandbox Code Playgroud)

我只是想保持ListBox控制,因为它需要我的其他行为.有任何想法吗?
这将禁用水平滚动(即使它听起来只是禁用可见性):
<ListBox HorizontalContentAlignment="Stretch"
ScrollViewer.HorizontalScrollBarVisibility="Disabled">
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
179 次 |
| 最近记录: |