コンテンツの表示領域を制限するプロパティClip

GridやCanvasなど内部にコンテンツをもつクラスにはClipプロパティが実装されている。
MSDNを読めばすぐわかることだが、このプロパティはコンテンツの表示領域を設定するものである。


標準では、CanvasやGridの枠の外側にUIコントロールを配置(MarginプロパティのLeftやTopをマイナ
ス値にする)してもはみ出た分が表示されないということにならない。
そこでClipプロパティに表示領域を表すGeometryオブジェクトを定義することで表示する範囲を制限
できる。


例)Gridの領域内のみにコンテンツを表示する設定例

[XAML]
<Grid Height="300" Width="400">
    <Grid.Clip>
        <RectangleGeometry>
            <RectangleGeometry.Rect>
                <Rect X="0" Y="0" Height="300" Width="400"/>
            </RectangleGeometry.Rect>
        </RectangleGeometry>
    </Grid.Clip>
</Grid>


Geometry派生クラスは以下の通り。
 -RectangleGeometry・・・四角形に領域を取るGeometry。
 -EllipseGeometry・・・円形・楕円形に領域を取るGeometry。
 -LineGeometry・・・線で領域を取るGeometry。つまりほぼ非表示状態。
 -PathGeometry・・・座標指定により複雑な領域を取るGeometry。
 -GeometryGroup・・・Geometryのグループ。


参考: http://msdn.microsoft.com/ja-jp/library/bb979930(v=vs.95).aspx