Skip to content

[WPF] StreamGeometryで破線を描画する

StreamGeometryで破線の描画をしたくなったのですが、Penオブジェクトへの設定での破線描画を調べると、Drawing.Penを使用する場合の設定方法ばかり出てきたので、Media.Penを使用する場合のサンプルを残しておきます。

WPFには、Penオブジェクトが2種類あります。

  • System.Windows.Media.Pen
  • System.Drawing.Pen

それぞれ、破線を描画するためのDashStyleの設定方法が違います。
Geometryを使用する場合、DrawGeometry()へ指定できるのはWindows.Media.Penの方です。

コード

StreamGeometryを使用して、UserControlのOnRender()で描画したサンプルです。
Xaml側には何もしていないので、ここには載せていません。

第一引数の配列のひとつめが実線の長さ、ふたつめが空白の長さ、みっつめが実線の長さ、という感じに指定できます。
ここで指定した順番でループしながら破線が描画されます。

おしまい。

Be First to Comment

コメントを残す

メールアドレスが公開されることはありません。

*