< DataTemplate で生成されたコントロールにアクセスする | ListView のカラムヘッダの幅を固定する >

August 19, 2008

DrawingBrush

ずっと DrawingBrush の定義方法がわからなかったのですが、やっと調べてブラシリソースを作りました。以下はその覚書です。

<!-- 透明と黒のシマシマ。OpacityMask に重宝 -->
<DrawingBrush x:Key="StripeBrush" TileMode="Tile" Stretch="None" ViewportUnits="Absolute" Viewport="0,0,3,1">
    <DrawingBrush.Drawing>
        <GeometryDrawing>

            <!-- 線分座標を定義 -->
            <GeometryDrawing.Geometry>
                <LineGeometry StartPoint="0.75,0" EndPoint="0.75,1"/>
            </GeometryDrawing.Geometry>

            <!-- 線分の線を定義 -->
            <GeometryDrawing.Pen>
                <Pen Thickness="1.5" Brush="Black"/>
            </GeometryDrawing.Pen>
        </GeometryDrawing>
    </DrawingBrush.Drawing>
</DrawingBrush>

<!-- 赤地に白の水玉ブラシ。 -->
<DrawingBrush x:Key="DotBrush" TileMode="FlipXY" Stretch="None" ViewportUnits="Absolute" Viewport="0,0,20,20">
    <DrawingBrush.Drawing>

        <!-- GeometryDrawing 要素が複数存在する場合は DrawingGroup 要素でグループ化する -->
        <DrawingGroup>
            
            <!-- 背景の矩形 -->
            <GeometryDrawing>

                <!-- 矩形の座標を定義 -->
                <GeometryDrawing.Geometry>
                    <RectangleGeometry Rect="0,0,20,20"/>
                </GeometryDrawing.Geometry>

                <!-- 矩形の塗りを定義 -->
                <GeometryDrawing.Brush>
                    <SolidColorBrush Color="Red"/>
                </GeometryDrawing.Brush>
            </GeometryDrawing>
            
            <!-- 水玉 -->
            <GeometryDrawing>

                <!-- 座標定義が複数存在する場合は GeometryGroup でグループ化する -->
                <GeometryDrawing.Geometry>
                    <GeometryGroup>
                        <EllipseGeometry Center="0,0" RadiusX="10" RadiusY="10"/>
                        <EllipseGeometry Center="20,20" RadiusX="10" RadiusY="10"/>
                    </GeometryGroup>
                </GeometryDrawing.Geometry>

                <!-- 水玉の塗りを定義 -->
                <GeometryDrawing.Brush>
                    <SolidColorBrush Color="White"/>
                </GeometryDrawing.Brush>
            </GeometryDrawing>
            
        </DrawingGroup>
        
    </DrawingBrush.Drawing>    
</DrawingBrush>

トラックバック

このエントリーにトラックバック:
http://frog.raindrop.jp/cgi-bin/mt/mt-tb.cgi/2156

コメント

コメントする

※ コメントスパム対策のため、コメント本文はおはよう、こんにちわ、こんばんわのいずれかより始めるようにしてください。

name:
email:

※ 必要ですが、表示しません。

url:
情報を保存する ?