我想制作一組帶有 90 度旋轉文本的按鈕。我創建了我想要的布局,但是當我將它附加到一個按鈕時發現布局根據按鈕的(未旋轉的)布局進行剪輯。我無法弄清楚發生了什么,但我創建了一個沒有按鈕的簡化案例。這是我的 XAML:
<Border Height="100" Width="50" BorderThickness="1" BorderBrush="Black">
<TextBlock>This is a test</TextBlock>
</Border>
這會產生一個帶有剪裁文本的邊框(如預期的那樣)

但是如果我旋轉文本,會產生這個 XAML:
<Border Height="100" Width="50" BorderThickness="1" BorderBrush="Black">
<TextBlock RenderTransformOrigin="0.5,0.5">
<TextBlock.RenderTransform>
<TransformGroup>
<ScaleTransform/>
<SkewTransform/>
<RotateTransform Angle="90"/>
<TranslateTransform/>
</TransformGroup>
</TextBlock.RenderTransform>This is a test</TextBlock>
</Border>
文本仍然根據封閉邊框的“寬度”而不是高度進行剪輯。

我確定我可以調整邊框以包含文本并旋轉邊框,并且可能我可以對我正在嘗試創建的按鈕執行相同的操作,但如果我這樣做,我不知道我不是無論按鈕的邊界如何,都會遇到同樣的問題,所以我覺得我需要了解我缺少什么。為什么旋轉的物件會像沒有旋轉一樣被剪裁?
uj5u.com熱心網友回復:
設定 LayoutTransform 屬性,而不是 RenderTransform:
<Border Height="100" Width="50" BorderThickness="1" BorderBrush="Black">
<TextBlock Text="This is a test">
<TextBlock.LayoutTransform>
<RotateTransform Angle="90"/>
</TextBlock.LayoutTransform>
</TextBlock>
</Border>
如果需要,還可以在 TextBlock 上設定HorizontalAlignment="Center"和。VerticalAlignment="Center"
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/532973.html
標籤:wpfxml
