Silverlight,形状的自定义对象

Silverlight,形状的自定义对象,silverlight,shapes,custom-properties,Silverlight,Shapes,Custom Properties,我正在学习Silverlight。我有一个应用程序,我在UserControl\u加载的方法中创建多边形。在创建阶段,我添加了MouseLeftButtonUp事件处理程序,如下所示: polygon.MouseLeftButtonUp += MouseButtonEventHandler_MouseLeftButtonUp; 所有多边形都具有相同的处理程序 我的目标是在单击多边形时使用自定义对象 例如,我有两个多边形;它们都具有int MyCustomInt32属性。属性是在创建阶段设置的。

我正在学习Silverlight。我有一个应用程序,我在
UserControl\u加载的
方法中创建多边形。在创建阶段,我添加了MouseLeftButtonUp事件处理程序,如下所示:

polygon.MouseLeftButtonUp += MouseButtonEventHandler_MouseLeftButtonUp;
所有多边形都具有相同的处理程序

我的目标是在单击多边形时使用自定义对象

例如,我有两个多边形;它们都具有
int MyCustomInt32
属性。属性是在创建阶段设置的。第一个多边形设置为10,第二个多边形设置为20。当事件触发时,我希望检索并设置MyCustomInt32值。当然,值应该不同,这取决于我单击的多边形

可以在Silverlight中进行吗


谢谢。

您可以将sender参数强制转换为自定义类类型:-

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

根据您的评论,实际创建自定义控件实现的主题太广泛。然而,在网络世界里有大量的文章要评论。以下是几个例子:-


通过简单的web搜索“Custom Control Silverlight”可以找到更多信息。

您可以将sender参数强制转换为自定义类类型:-

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

根据您的评论,实际创建自定义控件实现的主题太广泛。然而,在网络世界里有大量的文章要评论。以下是几个例子:-


通过简单的web搜索“Custom Control Silverlight”可以找到更多信息。

您可能需要花几分钟的时间来回顾以前的问题,您是否可以接受答案?您可能需要花几分钟的时间来回顾以前的问题,你有什么地方可以接受答案吗?谢谢你的回答。您能否提供一个代码片段,说明如何在您的答案中实现MyCustomPolygon?可以创建一个新类并从多边形类继承它吗?不能从多边形继承,因为多边形是密封的。您可以创建包含多边形的自定义控件。谢谢您的回答。您能否提供一个代码片段,说明如何在您的答案中实现MyCustomPolygon?可以创建一个新类并从多边形类继承它吗?不能从多边形继承,因为多边形是密封的。可以创建包含多边形的自定义控件。