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>