wpf - 如何使文本块在 LsitBox 中水平调整大小
问题描述
我在模板中有一个ListBox
包含s 的窗口:TextBlock
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition/>
</Grid.RowDefinitions>
...
<ListBox x:Name="AnnotationsList" ScrollViewer.VerticalScrollBarVisibility="Visible" Grid.Row="1" Grid.ColumnSpan="3">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="20*"/>
</Grid.ColumnDefinitions>
<Label Content="{Binding DateAdded}" Grid.Column="0"/>
<TextBlock Text="{Binding Description}" TextWrapping="Wrap" Grid.Column="1"/>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Grid>
我希望TextBlock
调整大小,模板中的两个元素以 1/20 的比例一起填充宽度。
相反,它TextBlock
永远不会变小并ListBox
获得水平滚动条。
如果我调整窗口大小,如何保持列表垂直滚动并确保文本变窄并换行?
解决方案
正如 Clemens 在评论中回答的那样,HorizontalScrollBarVisibility
有一个 选项Disabled
,它不仅影响可见性,而且实际上会触发子元素受到容器水平大小的限制。
推荐阅读
- c# - 如何在 Unity3D 中更准确地编辑框碰撞器?
- truncate - 在 Clickhouse 中的集群上截断表
- angular - 为 Angular 子路由添加 scrollPositionRestoration
- android - 无法将 Ionic cordova 构建到 Android 应用程序
- python - 从 Tensorflow 1.x 到 Tensorflow 2.1.0
- java - Spring Cloud 断路器 - 如何控制打开的 http 状态电路
- javascript - 如何使用javascript将表的值插入另一个表
- python - 如何使用 Pandas 和 NumPy 修复“'系列'对象是可变的,因此它们不能被散列”
- javascript - 如何在 D3.js 中垂直包装 SVG 中的文本?
- github - 如何删除通过文件上传创建的 Github 中的特定提交历史?