2017-04-12 71 views

回答

1

发现回答自己:把文本框等的控制,也就是里面的RichTextBox:

<RichTextBox> 
    <FlowDocument> 
     <Paragraph> 
      <TextBlock Text="Stacked text!"> 
      <TextBlock.LayoutTransform> 
      <RotateTransform Angle="-90"></RotateTransform> 
      </TextBlock.LayoutTransform> 
      </TextBlock> 
     </Paragraph> 
     </FlowDocument> 
    </RichTextBox> 
1

我要说的是正确的解决你的问题是定义一个定制ControlTemplateTextBox和应用RotateTransformScrollViewer元件:

<TextBox Background="Yellow" Text="test"> 
    <TextBox.Template> 
     <ControlTemplate TargetType="{x:Type TextBox}"> 
      <Border x:Name="border" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" SnapsToDevicePixels="True"> 
       <ScrollViewer x:Name="PART_ContentHost" Focusable="false" HorizontalScrollBarVisibility="Hidden" VerticalScrollBarVisibility="Hidden"> 
        <ScrollViewer.LayoutTransform> 
         <RotateTransform Angle="-90"></RotateTransform> 
        </ScrollViewer.LayoutTransform> 
       </ScrollViewer> 
      </Border> 
      <ControlTemplate.Triggers> 
       <Trigger Property="IsEnabled" Value="false"> 
        <Setter Property="Opacity" TargetName="border" Value="0.56"/> 
       </Trigger> 
       <Trigger Property="IsMouseOver" Value="true"> 
        <Setter Property="BorderBrush" TargetName="border" Value="#FF7EB4EA"/> 
       </Trigger> 
       <Trigger Property="IsKeyboardFocused" Value="true"> 
        <Setter Property="BorderBrush" TargetName="border" Value="#FF569DE5"/> 
       </Trigger> 
      </ControlTemplate.Triggers> 
     </ControlTemplate> 
    </TextBox.Template> 
</TextBox>