2009-10-01 58 views
1

我正在研究Silverlight。我有一個應用程序,我在UserControl_Loaded方法中創建多邊形。在創建階段,我添加MouseLeftButtonUp事件處理程序,如下所示:Silverlight,形狀的自定義對象

polygon.MouseLeftButtonUp += MouseButtonEventHandler_MouseLeftButtonUp; 

所有多邊形都具有相同的處理程序。

我的目標是在單擊多邊形時使用自定義對象。

例如,我有兩個多邊形;他們都有int MyCustomInt32屬性。該物業在創作階段設置。對於第一個多邊形,它被設置爲10,第二個爲20.當事件觸發時,我想檢索並設置MyCustomInt32值。當然,值應該不同,這取決於我點擊哪個多邊形。

在Silverlight中可以做到嗎?

謝謝。

+0

您可能需要花幾分鐘時間查看您以前的問題,有沒有可以接受答案的地方? – AnthonyWJones 2009-10-01 08:22:51

回答

1

你可以施放sender參數您的自定義類的類型: -

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

編輯

在效應初探您的意見,實際上是創建一個自定義控制的實現是主題太寬了。然而,網站上有大量的文章要審查。一對夫婦的例子是: -

有很多更發現用簡單的網頁搜索 「自定義控件Silverlight的」。

+0

謝謝你的回答。您能否提供一個代碼片段來說明如何在您的應用中實現MyCustomPolygon?是否有可能創建一個新的類並從Polygon類繼承它? – Antipod 2009-10-01 08:37:19

+0

您不能繼承其封閉的多邊形。您可以創建一個包含多邊形的自定義控件。 – AnthonyWJones 2009-10-01 08:55:05

+0

謝謝。我會嘗試。 – Antipod 2009-10-01 09:08:38