【发布时间】:2015-09-02 01:34:51
【问题描述】:
我有一个 ScrollViewer,其 HorizontalScrollBarVisibility 设置为“Auto”,其中包含一个 TextBox。问题是当用户输入文本时,TextBox 会不断增长以显示整个内容。我需要更改什么,以便 TextBox 仅获取可用宽度(但不小于给定的最小宽度)?
只有在可用的水平空间不足以满足给定的最小宽度时,才会出现水平滚动条。
只有在有更多可用的水平空间时,文本框才会增长。
<ScrollViewer HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="50"/>
<ColumnDefinition Width="*" MinWidth="50"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<TextBlock Grid.Column="0" Text="test:"/>
<TextBox Grid.Column="1"/>
</Grid>
</ScrollViewer>
即使满足 MinWidth 约束,也会出现水平滚动条:
【问题讨论】:
标签: wpf wpf-controls