Wpf 以不同角度重复绘图

Wpf 以不同角度重复绘图,wpf,windows,xaml,drawing,gauge,Wpf,Windows,Xaml,Drawing,Gauge,我目前正在为我的一个项目设计一种轨距控制。到目前为止,所有工作正常,控件显示正常。目前我如何手动放置控件的所有标记。它能工作,但不好 我想知道在纯XAML中执行某种重复是否可能是最简单、最好的。意思是我布置一条线,让WPF以不同的角度绘制X倍 当前呈现的“我的记号”如下所示: <Line> <Line.RenderTransform> <RotateTransform Angle="0" /> </Line.RenderT

我目前正在为我的一个项目设计一种轨距控制。到目前为止,所有工作正常,控件显示正常。目前我如何手动放置控件的所有标记。它能工作,但不好

我想知道在纯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>

为什么不公开控件中的标记集合,然后将ItemsControl绑定到它们。勾选对象可以有一个角度属性,您可以在ItemTemplate中将RotateTransform绑定到该属性。

我想补充一点,我使用了进度条使该组件工作,并更改了控件模板。