0

ジオメトリではなく、2 つの形状を 1 つに結合する方法はありますか。線のジオメトリを使用して GeometryGroup でこれを行うことができ、2 つの線が複合形状になることはわかっています。ただし、ライン ジオメトリには独自のストローク プロパティがないため、Shape のストロークを使用するため、異なるものにすることはできません。何か案は?

つまり、線のジオメトリがストロークのプロパティを持つシェイプから派生させたいので、ラインのジオメトリが独自のシェイプのストロークのプロパティを持つシェイプから派生できないかと考えています。派生クラスの引数にシェイプを渡してジオメトリを取得することを考えていましたが、ジオメトリは引き続き同じストロークを使用します。

4

1 に答える 1

0

図形の代わりに図面を調べたい場合があります。DrawingGroupには、上で見たプロパティがあります。その後、ImageDrawing内でDrawnigGroupをホストできます。これの欠点は、マウスイベントなど、シェイプが行う可能性がまったくないことです(ビジュアルヒットテストとタイマーを使用してこれらを実装できる可能性があります)。もう1つのアプローチは、DrawingVisual内でDrawingGroupをホストすることです。ImageDrawingとは対照的に、DrawingVisualはクリックイベントなどのいくつかの基本的な機会を提供しますが、これについてはよくわかりません。私の質問の問題は、ジオメトリを図面や他のグラフィックスオブジェクトと混同していたことでした。ジオメトリは形状のパスを提供するだけで、それ以上のものはありません。それらは、何かがどのように描かれるべきかについての指示のようなものです。このジオメトリを使用して形状をレンダリングするには、グラフィックスオブジェクトが必要です。つまり、ブラシとストローク(GeometryDrawingなどのDrawingサブクラスの場合はペン)と組み合わせます。ビジュアルも同様のことをします。最後に、図形は、FrameworkElementのすべての機能を実装することを除いて、ビジュアルと図面に似ています。

于 2011-09-05T18:54:25.977 に答える