ブログに示されているように、ストライプ用のブラシ(DrawingBrush)を作成するにはどうすればよいですか。
http://blog.pixelingene.com/2008/09/quick-tip-to-get-a-striped-background/
スケール変換を使用しているため、使用できません。つまり、UI要素が小さい場合、ストライプがほとんど表示されないか、互いに近すぎます。
色をバインドする必要があるため、イメージブラシを使用できません。
ブログに示されているように、ストライプ用のブラシ(DrawingBrush)を作成するにはどうすればよいですか。
http://blog.pixelingene.com/2008/09/quick-tip-to-get-a-striped-background/
スケール変換を使用しているため、使用できません。つまり、UI要素が小さい場合、ストライプがほとんど表示されないか、互いに近すぎます。
色をバインドする必要があるため、イメージブラシを使用できません。
MappingMode = "Absolute"を使用するだけです:
<LinearGradientBrush MappingMode="Absolute" x:Key="HatchBrush" StartPoint="0,0" EndPoint="4,4" SpreadMethod="Repeat">
<GradientStop Offset="0" Color="LightCoral"/>
<GradientStop Offset="0.75" Color="LightCoral"/>
<GradientStop Offset="0.75" Color="Gray"/>
<GradientStop Offset="1" Color="Gray"/>
</LinearGradientBrush>
下向きの45度の角度のストライプパターンを作成します。ビューポートを変更して、ストライプのサイズを変更します
<DrawingBrush Stretch="UniformToFill" ViewportUnits="Absolute" Viewport="0,0,10,10" TileMode="Tile">
<DrawingBrush.Drawing>
<DrawingGroup>
<DrawingGroup.Children>
<GeometryDrawing Brush="Black">
<GeometryDrawing.Geometry>
<GeometryGroup FillRule="Nonzero">
<PathGeometry>
<PathFigure StartPoint="0,0">
<LineSegment Point="100,0"/>
<LineSegment Point="100,100"/>
<LineSegment Point="0,100"/>
</PathFigure>
</PathGeometry>
</GeometryGroup>
</GeometryDrawing.Geometry>
</GeometryDrawing>
<GeometryDrawing Brush="#FF404040">
<GeometryDrawing.Geometry>
<GeometryGroup FillRule="Nonzero">
<PathGeometry>
<PathFigure StartPoint="0,0">
<LineSegment Point="25,0"/>
<LineSegment Point="100,75"/>
<LineSegment Point="100,100"/>
<LineSegment Point="75,100"/>
<LineSegment Point="0,25"/>
<LineSegment Point="0,0"/>
</PathFigure>
<PathFigure StartPoint="75,0">
<LineSegment Point="100,25"/>
<LineSegment Point="100,0"/>
</PathFigure>
<PathFigure StartPoint="0,75">
<LineSegment Point="25,100"/>
<LineSegment Point="0,100"/>
</PathFigure>
</PathGeometry>
</GeometryGroup>
</GeometryDrawing.Geometry>
</GeometryDrawing>
</DrawingGroup.Children>
</DrawingGroup>
</DrawingBrush.Drawing>
</DrawingBrush>
または、マルチバインディングを使用して、スケール変換をコントロールの高さと幅にバインドすることもできます。次に、コンバーターを使用して、スケールを高さまたは幅の最大値に変更すると、ストライプは同じサイズのままになります。