7

この Border Silverlight 要素の下の境界線に赤い実線の内側に赤い点線を表示するにはどうすればよいですか?

Border border = new Border();
border.CornerRadius = new CornerRadius(5);
border.BorderThickness = new Thickness(0, 0, 0, 1);
border.BorderBrush = new SolidColorBrush(Colors.Red);
4

2 に答える 2

12

境界線を Grid に置き換えて、領域全体を塗りつぶす Rectangle を与えることはできますか?

<Rectangle Stretch="Fill" RadiusX="10" RadiusY="10" StrokeDashArray="10, 2" Stroke="Black" Fill="White" />

StrokeDashArray を使用して点線で描画できますが、Border にはそのようなプロパティがありません。

編集:

私はあなたが下の境界線だけに点を打っていることに気づいたので、このようなことができます

<Border Width="100" Height="100" Background="Blue" BorderThickness="0,0,0,1">
    <Border.BorderBrush>
        <LinearGradientBrush StartPoint="0,0" EndPoint=".2,0" SpreadMethod="Repeat" >
            <GradientStopCollection>
                <GradientStop Color="Transparent" Offset="0" />
                <GradientStop Color="Transparent" Offset="0.3" />
                <GradientStop Color="Red" Offset="0.3" />
                <GradientStop Color="Red" Offset="0.6" />
                <GradientStop Color="Transparent" Offset="0.6" />
                <GradientStop Color="Transparent" Offset="1" />
            </GradientStopCollection>
        </LinearGradientBrush>
    </Border.BorderBrush>
</Border>

Offset中央の 2 つの GradientStop の を調整して、赤い点/ダッシュの幅を調整します。エンドポイントを調整して、目的の間隔で繰り返す必要がある場合もあります。

于 2010-05-28T13:24:24.470 に答える