我目前正在为我的一个项目设计一种仪表控制。到目前为止一切正常,控制显示也很好。目前我如何手动放置控件的所有刻度。它有效,但不是很好。
我想知道它是否可能很容易,最好在纯 XAML 中执行某种重复。这意味着我布局了一条线并让 WPF 以不同的角度将其绘制 X 次。
目前渲染我的刻度看起来像这样:
<Line>
<Line.RenderTransform>
<RotateTransform Angle="0" />
</Line.RenderTransform>
</Line>
<Line>
<Line.RenderTransform>
<RotateTransform Angle="18" />
</Line.RenderTransform>
</Line>
<Line>
<Line.RenderTransform>
<RotateTransform Angle="36" />
</Line.RenderTransform>
</Line>
<Line>
<Line.RenderTransform>
<RotateTransform Angle="54" />
</Line.RenderTransform>
</Line>
<Line>
<Line.RenderTransform>
<RotateTransform Angle="72" />
</Line.RenderTransform>
</Line>
<Line>
<Line.RenderTransform>
<RotateTransform Angle="90" />
</Line.RenderTransform>
</Line>
<Line>
<Line.RenderTransform>
<RotateTransform Angle="108" />
</Line.RenderTransform>
</Line>
<Line>
<Line.RenderTransform>
<RotateTransform Angle="126" />
</Line.RenderTransform>
</Line>
<Line>
<Line.RenderTransform>
<RotateTransform Angle="144" />
</Line.RenderTransform>
</Line>
<Line>
<Line.RenderTransform>
<RotateTransform Angle="162" />
</Line.RenderTransform>
</Line>
<Line>
<Line.RenderTransform>
<RotateTransform Angle="180" />
</Line.RenderTransform>
</Line>
虽然它有效,但我并不喜欢它。
任何想法如何更好地做到这一点?
顺便说一句,线条的其余属性放在样式定义中:
<Style TargetType="Line">
<Setter Property="Stroke" Value="{Binding Source={StaticResource displayForeground}}" />
<Setter Property="StrokeThickness" Value="1" />
<Setter Property="X1" Value="-85" />
<Setter Property="X2" Value="-95" />
<Setter Property="LayoutTransform" Value="1.00 0.00 -0.00 1.00 0 0" />
</Style>