簡體   English   中英

垂直旋轉的Textblock占據了整個寬度,就好像它是水平的一樣

[英]Vertically rotated Textblock takes up entire width as if it were horizontal

我已經將TextBlock控件包裝在邊框中,以便可以看到正在占用的空間:

在此處輸入圖片說明

這是XAML:

<Border BorderBrush="Cyan" BorderThickness="3">
    <TextBlock Style="{StaticResource subtitle}" Text="{Binding Title}" >
        <TextBlock.RenderTransform>
            <RotateTransform Angle="90" />
        </TextBlock.RenderTransform>
    </TextBlock>
</Border>

問題在於,這占用了比我需要的空間更多的空間,如果我為其設置了靜態寬度,則會得到以下信息:

在此處輸入圖片說明

有什么建議么?

<Setter Property="LayoutTransform"> 
    <Setter.Value> 
        <RotateTransform Angle="90" /> 
    </Setter.Value> 
</Setter> 

之所以如此,是因為像在大多數Web Base應用程序中一樣,有一系列事件會觸發/觸發我們用來查看或處理的大部分事件,而這些事件發生在Rendering Event中。我不確定100%,但是我真的認為LayoutTransform在預渲染期間發生

在運行時創建文本塊並旋轉它們時,我遇到了同樣的問題。 我只是通過設置解決了

tb.Margin = .......
tb.HorizontalAlignment = Windows.UI.Xaml.HorizontalAlignment.Left;
tb.VerticalAlignment = Windows.UI.Xaml.VerticalAlignment.Top;
RotateTransform rt = new RotateTransform();
rt.Angle = -40;
tb.RenderTransform = rt;

似乎您沒有設置它們,變換是在居中文本上進行計算,並添加寬度以將其放置在所需位置...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM