【WPF】Ellipseの外側と内側に異なる透明度を指定する
WPFのEllipseの外側(Stroke)と内側(Fill)に異なる透明度を適用する方法をメモします。具体的には内側だけある透明度を適用したかったのですが、EllipseのOpacityを設定すると、StrokeもFillも透明になってしまいます。この問題はStrokeとFillに異なるBrushを割り当てることで解決できます。
var brushWithOpacity = new SolidColorBrush(Colors.Black); brushWithOpacity.Opacity = 0.2; var ellipse = new Ellipse() { Width = 30.0, Height = 30.0, StrokeThickness = 5.0, Stroke = Brushes.Black, Fill = brushWithOpacity }; MainCanvas.Children.Add(ellipse);
参考サイト:c# - WPF shape different opacity for stroke and fill - Stack Overflow