1

私はSilverlightをちりばめています。UserControl_Loadedメソッドでポリゴンを作成するアプリケーションがあります。作成段階で、次のような MouseLeftButtonUp イベント ハンドラを追加します。

polygon.MouseLeftButtonUp += MouseButtonEventHandler_MouseLeftButtonUp;

すべてのポリゴンに同じハンドラがあります。

私の目標は、ポリゴンをクリックしたときにカスタム オブジェクトを使用することです。

たとえば、2 つのポリゴンがあります。どちらもint MyCustomInt32財産を持っています。プロパティは作成段階で設定されます。最初のポリゴンでは 10 に設定され、2 番目のポリゴンでは 20 に設定されます。イベントが発生したら、MyCustomInt32 値を取得して設定したいと思います。もちろん、値は異なるはずです。クリックするポリゴンによって異なります。

Silverlightでできる?

ありがとうございました。

4

1 に答える 1

1

送信者パラメーターをカスタム クラス タイプにキャストできます。

private void MouseButtonEventHandler_MouseLeftButtonUp(object sender,  MouseButtonEventArgs e)
{
    var polygon = (MyCustomPolygon)sender;
    int x = polygon.MyCustomInt32;
}

編集

あなたのコメントに応えて、カスタム コントロールの実装を実際に作成するという主題は広すぎます。ただし、Web ランドにはレビューすべき記事がたくさんあります。いくつかの例は次のとおりです。

簡単な Web 検索 "Custom Control Silverlight" でさらに多くのものが見つかります。

于 2009-10-01T08:15:07.867 に答える