2009-03-30 6 views
3

境界要素にテキストブロックを追加しようとすると、テキストの一部しか表示されません。私はボーダーにそれを追加した後にテキストを回転させ、それが問題を引き起こしています。境界線の幅を広げてしまうと、この問題が解決されます。しかし、私の国境はたった20単位でなければなりません。テキストが切り取られるのはなぜですか?

alt text http://img257.imageshack.us/img257/1702/textcrop.jpg

私はここで何をしないのですか?

 <Border 
      Name="BranchBorder" 
      CornerRadius="0" 
      HorizontalAlignment="Left" 
      Width="20"> 
      <TextBlock 
      Name="Branch" 
      FontSize="14" 
      FontWeight="Bold" 
      VerticalAlignment="Center"> 
      <TextBlock.RenderTransform> 
      <RotateTransform 
       Angle="-90"/> 
      </TextBlock.RenderTransform> 
      Branch 
      </TextBlock> 
     </Border> 

答えて

7

LayoutTransform

<Border 
     Name="BranchBorder" 
     CornerRadius="0" 
     HorizontalAlignment="Left" 
     Width="20"> 
     <TextBlock 
     Name="Branch" 
     FontSize="14" 
     FontWeight="Bold" 
     VerticalAlignment="Center"> 
     <TextBlock.LayoutTransform> 
     <RotateTransform 
      Angle="-90"/> 
     </TextBlock.LayoutTransform> 
     Branch 
     </TextBlock> 
    </Border> 

を使用してみてくださいそれは速かった... RenderTransform and LayoutTransform、ここでの違いを説明ブログエントリの束は、チャールズ・ペゾルドRenderTransformVersusLayoutTransform.xaml

+0

うわーからクールな視覚的なデモであります。そしてそれは働いた! –

0

テキストが<border>変換を継承しているかのように見えます前に、回転変換、それを回転させるチャンスを持っています。つまり、テキストが最初に20単位の幅に切り取られ、の場合はが-90度回転します。

実際の解決策はありませんが、問題の原因となっている変換の順序がわかります。

関連する問題