水平滚动条可防止文本框包装

时间:2012-09-14 06:14:28

标签: wpf scrollviewer textwrapping

我正在努力让TextBox换行文字并与Window一起成长。如果我没有设置ScrollViewer的{​​{1}}属性,则该方法有效。但如果我这样做,HorizontalScrollBarVisibility将无限增长。通过将TextBox属性设置为TextBox可以解决该问题,但在这种情况下,MaxWidth不会超出TextBox值。我的想法是将MaxWidth绑定到MaxWidth的{​​{1}},但这也不起作用,因为ColumnDefinition的{​​{1}}属性不是{ {1}}。这是我的代码:

ActualWidth

任何想法都将受到赞赏。

1 个答案:

答案 0 :(得分:2)

试试这个:

<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="Auto" />
        <ColumnDefinition Width="*" />
    </Grid.ColumnDefinitions>
    <TextBlock Text="Name:" Margin="5" />
    <ScrollViewer VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto" Grid.Column="1">
        <TextBox MinWidth="200" TextWrapping="Wrap" AcceptsReturn="True" Margin="5" MaxWidth="{Binding Path=ActualWidth, RelativeSource={RelativeSource AncestorType={x:Type ScrollViewer}}}" />
    </ScrollViewer>
</Grid>