中的文本我想讓一個文本框被一個發光邊框包圍。將文本框縮放到
TextBox應該儘可能大,以便包含其中的所有文本。但沒有更大。然後邊框應該包圍文本。
我使用3x3網格使邊框居中在容器中間。只要文本足夠短,居中就可以正常工作。但是當你輸入一個很長的文本時,ViewBox實際上並不會縮小文本框的大小。
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Viewbox Stretch="Uniform" Grid.Row="1" Grid.Column="1" >
<Border BorderBrush="#bab98b" BorderThickness="7" CornerRadius="15" VerticalAlignment="Center" HorizontalAlignment="Center" Background="Black">
<TextBox Name="WaitMessage" Text="A Message" HorizontalAlignment="Center" Foreground="White" Background="Black" Padding="20" FontSize="60" Width="Auto"/>
</Border>
</Viewbox>
</Grid>
我認爲Viewbox應該縮放內容以適應根據父容器可用的尺寸。但是,如果我輸入的文本很長,它會在最後截斷。
簡而言之:我希望文字均勻縮小爲可用尺寸,但絕不會超出需要的範圍。
有人可以解釋我做錯了什麼嗎?
編輯:好的,如果我把10 *作爲中間列和行的寬度和高度,文本將始終停留在邊界內。 問題在於當ViewBox只是一個小文本時,ViewBox會使文本增長。 我認爲我不能使用maxHeight來達到這個目的,因爲我從來不希望它放大文本。
您是否嘗試過TextBox包裝? – HichemSeeSharp
它似乎沒有做任何事情。此外,它不能解釋爲什麼Viewbox不會縮小文本框IMO。 – Vanvid
請重寫您的問題,並嘗試通過將您的實際代碼和您期望得到的內容加以簡化和理解 – HichemSeeSharp