WPF、文本块旋转、对齐问题

WPF、文本块旋转、对齐问题,wpf,wpf-controls,textblock,Wpf,Wpf Controls,Textblock,我想根据文本的中心点[水平和垂直]旋转文本块。我尝试了以下代码。它总是占据文本块的左上角。如何将其更改为文本本身的中心 <TextBlock Name="textBlock1" TextWrapping="Wrap" FontSize="25" Foreground="#FFF63AFF" FontWeight="Bold"> TextBlock <TextBlock.RenderTransform> <TransformGroup>

我想根据文本的中心点[水平和垂直]旋转文本块。我尝试了以下代码。它总是占据文本块的左上角。如何将其更改为文本本身的中心

<TextBlock Name="textBlock1"  TextWrapping="Wrap" FontSize="25" Foreground="#FFF63AFF" FontWeight="Bold"> 
TextBlock 
   <TextBlock.RenderTransform>
       <TransformGroup>
           <RotateTransform Angle="45" /> 
       </TransformGroup>   
   </TextBlock.RenderTransform>  
</TextBlock>

文本块
图像描述:Textblock是画布的一部分,Textblock应根据图像中所示的交点旋转

我也尝试过水平对齐和垂直对齐,实际上它是在获取家长的对齐细节


我是否需要获得实际宽度和实际高度,然后根据这些细节计算中心点?

在文本框中添加比例:

TextAlignment="Center"

这用于水平对齐

您需要使用RenderTransferMorigin=“.5,.5”


控件
输出


不,它将采用父对象的宽度进行对齐,而不是文本块本身。对不起,我不明白您的确切意思。您能准确地告诉我代码吗?先生,请现在检查图像描述太棒了,但现在我想将中心移动到某个点,比如(0,0)或(10,5)如何操作?TranslateTransform仅使用相对值。中心点在rendertransform origin中定义,它以百分比表示,因此,如果要将中心放置在左上角位置,则中心为0,0,右上角为1,0,如果将中心设置为2,0,则中心位于右上角+控制宽度。我希望能够把它抄下来,因为把这一切写在文字里是很困难的
   <Grid>
        <TextBlock Name="textBlock1" RenderTransformOrigin=".5,.5"  HorizontalAlignment="Center" VerticalAlignment="Center" TextWrapping="Wrap" FontSize="25" Foreground="#FFF63AFF" FontWeight="Bold"> 
            TextBlock
            <TextBlock.RenderTransform>
                <TransformGroup>
                    <RotateTransform Angle="45" />
                </TransformGroup>
            </TextBlock.RenderTransform>
        </TextBlock>
    </Grid>