На самом деле вещь часов работает отлично. Это - самый интуитивный способ помнить его, по крайней мере, для меня.
Ну, я не знаю, применимо ли это к вашему сценарию, но вы можете просто повернуть горизонтальную линию с помощью LayoutTransform и градиент будет в порядке.
<Line HorizontalAlignment="Stretch" VerticalAlignment="Center"
Stretch="Uniform" StrokeThickness="5" X1="0" Y1="0" X2="1" Y2="0">
<Shape.Stroke>
<LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
<GradientStop Color="Transparent" Offset="0" />
<GradientStop Color="Green" Offset="0.5" />
<GradientStop Color="Transparent" Offset="1" />
</LinearGradientBrush>
</Shape.Stroke>
<Line.LayoutTransform>
<RotateTransform Angle="40"/>
</Line.LayoutTransform>