1

Canvas に複数の小さなアイコンを表示する Silverlight アプリケーションに取り組んでおり、各アイコンのサイズは約 10x10 ピクセルです。アイコンはパスによって定義されます。

一部のアイコンがこのような形状であるというユーザビリティの問題があり、その結果、ユーザーが隙間をクリックすると、クリックが登録されません。下の画像を見て、私が何を意味するかを確認してください。

ここに画像の説明を入力

WPF/Silverlight でパスの「背景」をクリック可能にする簡単な方法はありますか? レンダラーの負担を増やす別の WPF タイプでラップするのではなく。

または、システムを改善するための簡単な修正がありますか?たとえば、パスを四角形またはその他のジオメトリでラップして、領域全体をクリック可能にしますか?

4

1 に答える 1

2

パスではなく、描画グループで描画ブラシを使用します。

<Rectangle Name="TransparentBack"  Height="10" Width="10">
    <Rectangle.Fill>
        <DrawingBrush>
            <DrawingBrush.Drawing>
                <DrawingGroup>
                    <GeometryDrawing Brush="Transparent">
                        <GeometryDrawing.Geometry>
                            <RectangleGeometry>
                                <RectangleGeometry.Rect>
                                    <Rect Height="1" Width="1"/>
                                </RectangleGeometry.Rect>
                            </RectangleGeometry>
                        </GeometryDrawing.Geometry>
                    </GeometryDrawing>
                    <GeometryDrawing Brush="White">
                        <GeometryDrawing.Geometry>
                            <PathGeometry>
                                <PathFigure StartPoint="0,0">
                                    <LineSegment Point="0,1"/>
                                    <LineSegment Point="1,1"/>
                                </PathFigure>
                            </PathGeometry>
                        </GeometryDrawing.Geometry>
                    </GeometryDrawing>
                </DrawingGroup>
            </DrawingBrush.Drawing>
        </DrawingBrush>
    </Rectangle.Fill>
</Rectangle>
于 2012-08-01T11:28:13.127 に答える