WPF列表框项目不是wordwrapping

Chr*_*ath 12 .net wpf listbox word-wrap

ListBox除此之外,我的描述领域可能很长.我没有水平滚动条,而是想用自动换行.如果我设置了它,MaxWidth但由于ListBox更改大小,我不想硬编码值.

最好的方法是什么?

编辑:描述在一个TextBlock.

简化的XAML(删除了无关紧要的东西,仍然显示问题:

         <ListBox BorderThickness="0" Padding="5" Name="lstTasks">
            <ListBox.ItemsSource>
                <Binding Source="{StaticResource dataTasks}"/>
            </ListBox.ItemsSource>

            <ListBox.ItemTemplate>
                <DataTemplate>
                    <Grid>
                        <TextBlock Text="{Binding Path=RequestDescription}" TextTrimming="WordEllipsis" TextWrapping="Wrap" Height="60" />
                    </Grid>
                </DataTemplate>
            </ListBox.ItemTemplate>
        </ListBox>
Run Code Online (Sandbox Code Playgroud)

Mat*_*ton 31

尝试强制ListBoxItems的宽度为ListBox的宽度:

<ListBox
     Name="lstTasks"
     BorderThickness="0"
     Padding="5"
     HorizontalContentAlignment="Stretch">
Run Code Online (Sandbox Code Playgroud)

您也可以尝试禁用水平滚动:

<ListBox
     ScrollViewer.HorizontalScrollBarVisibility="Disabled"
     ...>
Run Code Online (Sandbox Code Playgroud)

  • 谢谢,禁用滚动条立即修复它. (2认同)
  • +1设置滚动条可见性似乎将所包含控件的宽度限制为列表框的边界.奇怪但真实. (2认同)