wpf 文本框文字环绕

标签 wpf textbox grid word-wrap

我需要一些帮助。不知道这是否可能。我想要以下内容:

    <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="Auto"/>
            <ColumnDefinition Width="*"/>
        </Grid.ColumnDefinitions>
        <TextBox TextWrapping="Wrap" MinLines ="5"/>
    </Grid>

这是一个文本框,包裹在宽度为 * 的网格列内。我希望文本框采用所有可用宽度(因此 *),但是当用户添加文本时,我希望它在到达行尾时换行(具有可用空间)。

目前,上面将给出一个具有整个宽度的文本框,但是当输入文本时,文本框的宽度只会随着文本而增长。

我知道我可以设置MaxWidth=?,但是该列的要点是*是我不知道该列的大小是多少。

我想对文本框说“不要增长,无论wpf给你什么,你都接受它,并且不要在上面再增加一个像素”。

我认为我想要的是不可能的,因为 wpf 询问控件它想要多大,当用户添加更多超出边界的文本时,它会请求更多空间并将其宽度扩展到无穷大。

最佳答案

尝试将 TextBoxMaxWidth 属性绑定(bind)到加星号列的 ActualWidth 属性(您必须将列命名为做这个)。我很确定我过去曾经做过类似的事情。

类似于:

MaxWidth={Binding ElementName=MyColumn, Path=ActualWidth}

祝你好运!

关于wpf 文本框文字环绕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/884324/

相关文章:

c# - DataGrid header 中的 WPF 数据绑定(bind)

wpf - 我可以在运行时将 XML/XAML 转换为 WPF 控件吗?

用于检查用户是否在文本字段中输入空格的 Javascript

c# - WPF 文本框动画不起作用?

python - 如何表示二维正交网格 (Python)

extjs - 列标题和行数据未对齐

c# - 清除 WPF 中的 "settings"绑定(bind)

c# - WPF 启用按钮组

Javascript 检查文本框中是否有某个单词

matlab - grid2grid 存在吗?