1

私は現在、私のプロジェクトのために一種のゲージコントロールを設計しています。これまでのところ、すべてが正常に機能し、コントロールは正常に表示されます。しかし現在、私はコントロールのすべてのティックを手動で配置しました。それは動作しますが、良くありません。

簡単に、ある種の繰り返しを実行するための純粋なXAMLで最適かどうか疑問に思いました。つまり、1つの線をレイアウトし、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>
4

1 に答える 1

0

コントロールから目盛りのコレクションを公開してから、それらに をバインドしてみませんかItemsControl。ティック オブジェクトには、ItemTemplate でAngleバインドできるプロパティがある可能性があります。RotateTransform

于 2012-06-11T09:23:26.250 に答える