【发布时间】:2010-11-29 00:55:08
【问题描述】:
我有一个简单的水平 <Line> 元素。这条线应用了一个 RotateTransform,它以我选择的任何角度倾斜这条线。问题是线条的渲染长度是在在应用转换之前计算的。结果是该线在旋转后不再适合其父元素。
我当前的代码看起来与此类似,以 15° 为例:
<Grid Background="Orange">
<Line HorizontalAlignment="Left" VerticalAlignment="Bottom"
RenderTransformOrigin="0,0" Stretch="UniformToFill"
StrokeThickness="1" Stroke="Green" X1="0" Y1="0" X2="1" Y2="0">
<UIElement.RenderTransform>
<RotateTransform Angle="-15" />
</UIElement.RenderTransform>
</Line>
</Grid>
结果是这样的:
http://img179.imageshack.us/img179/2592/slantpartial.png
如图所示,由于旋转,该线不与控件的右侧接触。我需要将线条拉伸到可能的最大尺寸并完全填充其父控件,无论我将角度设置为什么。角度会在运行时动态变化,我不能在我当前的项目中使用斜率计算。我需要保持 RotateTransform 作为倾斜线的手段。
我需要完成的一个示例 - 再次以 15° 为例:
http://img42.imageshack.us/img42/8276/slantcomplete.png
【问题讨论】:
标签: .net wpf xaml .net-3.5 layout