目標:
。我試圖創建一個TextBox,其空間正好可以容納2行。 該內容稍后將被填充到一個最大空間為兩行的檔案中。
用戶應該能夠在應用程式中直觀地看到,以生成檔案:
當前情況/問題
文本框位于一個帶有<RowDefinition Height="auto"></RowDefinition>的網格中。這導致文本框正好占據了1行的空間(用黃色標記)。
。
只有在輸入第一個字母時,由于MinLines="2",文本框才會擴展到兩行。我確實有為Grid.Row設定一個靜態高度的想法,但說實話,我真的不喜歡靜態尺寸,我覺得這不是一個合適的解決方案。
此外,盡管MaxLines="2"文本框將很樂意環繞任何數量的行。
我已經設定了MaxLength="200"--它可以完成作業,但與實際的文本大小無關。
(iiiii vs WWWW)
當前代碼:
<Grid x。 名稱="EigenbelegGrid">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="auto"/span>> </ColumnDefinition>>
<ColumnDefinition></ColumnDefinition>
<ColumnDefinition Width="auto"/span>> </ColumnDefinition>>
<ColumnDefinition Width="auto"/span>> </ColumnDefinition>>
</Grid.ColumnDefinitions>/span>
<Grid.RowDefinitions>/span>
<RowDefinition Height="auto"/span>> </RowDefinition>>
<RowDefinition Height="auto"/span>> </RowDefinition>>
</Grid.RowDefinitions>
<!--預設-->
<Label Content="Preset" Grid。 Column="0" Grid.Row="0"></Label> //span>
<ComboBox x:Name="TemplateSelection_DropDown" Grid. Column="1" Grid.Row="0" IsEdable="True"
<Button x: Name="SavePreset_Button" Content="Save" Grid. Column="2" Grid.Row="0"></Button> //span>
<Button x: Name="DeletePreset_Button" Content="Delete" Grid。 Column="3" Grid.Row="0"></Button> //span>
<!--推理-->
<Label Content="Begründung" Grid. Column="0" Grid.Row="1"></Label> //span>
<TextBox x:Name="Reasoning_TextBox" Grid. Column="1" Grid. string">"2" TextWrapping="Wrap" MaxLength="200"> </TextBox>>
</Grid>/span>
uj5u.com熱心網友回復:
被加載到視覺樹后,如果TextBox是空白的,DesiredSize將包含一行的高度加上其他原因的高度,而ExtentHeight將包含一行的高度。我們可以用這兩個來計算我們需要的實際高度。在你的例子中,它將會是這樣的
<TextBox x:Name="Reasoning_TextBox" Grid. Column="1" Grid.Row="1" MaxLines="2" TextWrappping="Wrap"
Loaded="Reasoning_TextBox_Loaded"> </TextBox>
private void Reasoning_TextBox_Loaded(object sender, RoutedEventArgs e)。
{
TextBox t = (TextBox)sender;
t.Height = t.DesiredSize.Height t.ExtentHeight * (t.MaxLines - 1) 。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/312734.html
標籤:


