source

자동 크기 조정 기능을 유지하여 WPF에서 텍스트를 회전하는 방법

manycodes 2023. 5. 1. 21:33
반응형

자동 크기 조정 기능을 유지하여 WPF에서 텍스트를 회전하는 방법

텍스트를 세로로 하고 싶습니다.WPF의 간단한 그리드를 사용하여 영역을 자동으로 크기를 조정합니다.하지만 사용할 때RotateTransform모든 계산이 틀렸습니다.어떻게 해결해야 할지 생각나는 거 있어요?

        <Grid.RowDefinitions>
            <RowDefinition Height="*" />
            <RowDefinition Height="Auto" />
            <RowDefinition Height="*" />
        </Grid.RowDefinitions>

WPF 텍스트 회전이 이미지에서 제가 의미하는 바를 알 수 있습니다.이제 중간 부분의 크기를 자동으로 조정하려면 "폭" 또는 "높이" 속성을 사용할 수 없습니다. 둘 다 잘못된 크기 조정 결과를 초래하기 때문입니다.너비 = 120픽셀은 수평(원본) 너비를 증가시키고 전체 행을 120픽셀로 만듭니다.높이=120px는 텍스트를 120픽셀 높이로 만듭니다.

사용LayoutTransform대신에RenderTransform렌더링 중이 아니라 레이아웃 패스 중에 적용됩니다.

Rachel이 말한 대로 레이아웃 변환 사용

<TextBlock Text="Goodday" >
   <TextBlock.LayoutTransform>
     <RotateTransform Angle="90" />
   </TextBlock.LayoutTransform>  
</TextBlock>
<TextBlock Height="14" 
    x:Name="TextBlock1" 
    Text="Vertical Bottom to Up" Margin="73,0,115,0" RenderTransformOrigin="0.5,0.5" > 
    <TextBlock.RenderTransform> 
        <TransformGroup> 
            <ScaleTransform/> 
            <SkewTransform/> 
            <RotateTransform Angle="-90"/> 
            <TranslateTransform/> 
        </TransformGroup> 
    </TextBlock.RenderTransform> 
</TextBlock> 

언급URL : https://stackoverflow.com/questions/6458086/how-to-rotate-text-in-wpf-by-keeping-the-auto-sizing-function

반응형