当文本设置为代码隐藏时,TextBox不会扩展其宽度和高度

时间:2018-05-06 07:53:13

标签: c# wpf xaml textbox

我有一个文本框,其文本绑定到属性。 当我手动输入时,它只是扩展其宽度以显示所有文本。

但是,当我从代码隐藏中更改属性时,textbox不会扩展到所需的宽度和高度。

我的文本框:

<TextBox Text="{Binding TranslationText}" VerticalAlignment="Center" Grid.Row="2" materialDesign:HintAssist.IsFloating="True" materialDesign:HintAssist.Hint="Text to translate" Name="TranslateBox" TextChanged="TranslateBox_OnTextChanged" HorizontalAlignment="Center" TextWrapping="Wrap" VerticalScrollBarVisibility="Auto" AcceptsReturn="True" ></TextBox>

如何使用codebehind设置它:

this.TranslationText = "a very long text..";
OnPropertyChanged("TranslationText");

在代码隐藏中设置后,文本会更新,但文本框不会扩展其宽度和高度。

1 个答案:

答案 0 :(得分:0)

致电UpdateLauout

<TextBox x:Name="tb" Text="{Binding TranslationText}" VerticalAlignment="Center" Grid.Row="2" materialDesign:HintAssist.IsFloating="True" materialDesign:HintAssist.Hint="Text to translate" Name="TranslateBox" TextChanged="TranslateBox_OnTextChanged" HorizontalAlignment="Center" TextWrapping="Wrap" VerticalScrollBarVisibility="Auto" AcceptsReturn="True" >

C#

this.TranslationText = "a very long text..";
tb.UpdateLayout();
OnPropertyChanged("TranslationText");