簡體   English   中英

旋轉的文本塊長度不正確

[英]Rotated textblock doesn't have the correct length

我正在嘗試動態填充WPF應用程序中的網格。

我先創建一行,然后創建一些列。 在每一列中,我都添加一個文本塊,如下所示:

GrdMainGrid.RowDefinitions.Add(new RowDefinition(Height = new GridLength(150, GridUnitType.Pixel);
GrdMainGrid.RowDefinitions.Add(new RowDefinition(Height = new GridLength(1, GridUnitType.Star);

for(var i=0; i<4; i++)
{
  GrdMainGrid.ColumnDefinitions.Add(new ColumnDefinition {With = new GridLength(25, GridUnitType.Pixel)});
}
var header = new TextBlock {Text = "Header1", RenderTransform = new RotateTransform(-90), Width = 150, Margin = new Thickness(0), VerticalAlignment = VerticalAlignment.Bottom, HorizontalAlignment = HorizontalAlignment.Left};
.
.
.
Grid.SetColumn(header, 0);
Grid.SetRow(header, 0);
.
.
.
GrdMainGrid.Children.Add(header);

文本塊旋轉-90度。 當列的大小設置為25像素時,我不會顯示所有文本,但是當我增加列的大小時,textblock中的文本也會增加。 看圖片 在此處輸入圖片說明

在此處輸入圖片說明

如果文本塊沒有旋轉並且它不適合列,我可以理解這一點。 但是,它與旋轉列時的大小有關。 並且有可能以某種方式減小列的寬度而不減小文本的大小嗎? 提前Tnx。

使用LayoutTransform而不是RenderTransform。

    var header = new TextBlock { Text = "Header1", LayoutTransform = new RotateTransform(-90), Width = 150, Margin = new Thickness(0), VerticalAlignment = VerticalAlignment.Bottom, HorizontalAlignment = HorizontalAlignment.Left };

暫無
暫無

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

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