我需要一些帮助。不知道是否有可能实现。我想要以下内容:
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBox TextWrapping="Wrap" MinLines ="5"/>
</Grid>
一个文本框包装在一个宽度为*的网格列中。我希望文本框占用所有可用的宽度(因此使用*),但当用户添加文本时,希望它在行末达到空格位置时换行。
目前,以上将生成一个完整宽度的文本框,但输入文本后,文本框的宽度会随着文本增长而增大。
我知道我可以设置MaxWidth =?,但是如果列的大小为*,则不知道列的大小。
我想对文本框说“不要增长,无论wpf给你什么尺寸,请接受并且不要再增加一个像素”。
我认为我想要的是不可能的,因为WPF会询问控件它想要有多大尺寸,并且当用户添加更多超出边界的文本时,它会请求更多的空间并且无限制地扩展其宽度。