2012-06-11 22 views
1

我目前正在为我的一个项目设计一种量规控制。到目前为止,所有工作都很好,控制显示得很好。目前我如何手动放置控件的所有刻度。它的作品,但它不好。重复绘制不同角度

我想知道如果它可能很容易,最好在纯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> 
+0

我的意思是补充说我使用了一个进度条来让这个组件工作并改变控件模板。 – Nitram

回答

0

你为什么不从您的控制暴露蜱的集合,然后绑定一个ItemsControl给他们。你勾选对象可能有一个Angle属性,你可以绑定你的RotateTransform到ItemTemplate中。