私の問題は次のとおりです。Canvas があり、「Node」というクラスがあります。ノードのコレクションを作成し、ノードごとに、キャンバス上の特定の場所に形状 (楕円、三角形、文字) を作成する必要があります。
Node をクリックしたときに、親 Node オブジェクトに戻って変更できるようにする必要があります。
MouseLeftButtonUp リスナーを追加してから e.OriginalSource に移動しても、元のソースのタイプが Node ではなく Ellipse (またはその他の Shape) であるため、機能しません。
この問題には 2 つの解決策があります。
1) ノード ID など、Ellipse にデータをアタッチする方法があれば、それでよいでしょう (Ellipse.AddLogicalChild や Ellipse.SetCurrentValue のようなものですが、それが機能するかどうか、または適切かどうかはわかりません。これらの方法のいずれかを使用します)。2) または、Node で Shape クラスを派生させて、それを Canvas.Children に直接追加できるようにする必要があります。
これらのいずれかを行うにはどうすればよいですか? または、別の解決策を見つけた場合は、お知らせください。
ありがとう、
アントン・カネフスキー