当我尝试将文本块添加到边框元素时,我只看到文本的一部分。我将文本添加到边框后旋转文本,这是导致问题的原因。增加边框的宽度可以解决此问题。但是,我的边界只需要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>
答案 0 :(得分: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之间的区别,这是来自Charles Petzold的一个很酷的视觉演示RenderTransformVersusLayoutTransform.xaml
答案 1 :(得分:0)
似乎文本在之前继承了<border>
转换,旋转变换有机会旋转它。这意味着文本首先被裁剪为20个单位宽,然后被旋转-90度。
虽然我没有实际的解决方案,但我可以确认导致问题的转换顺序。