Silverlight, пользовательский объект для фигур - PullRequest
1 голос
/ 01 октября 2009

Я изучаю Silverlight. У меня есть приложение, в котором я создаю полигоны в методе UserControl_Loaded. На этапе создания я добавляю обработчик события MouseLeftButtonUp следующим образом:

polygon.MouseLeftButtonUp += MouseButtonEventHandler_MouseLeftButtonUp;

Все полигоны имеют одинаковый обработчик.

Моя цель - использовать пользовательский объект, когда я нажимаю на многоугольник.

Например, у меня есть два полигона; оба имеют свойство int MyCustomInt32. Свойство устанавливается на этапе создания. Для первого многоугольника установлено значение 10, для второго - 20. Когда срабатывает событие, я хотел бы получить и установить значение MyCustomInt32. Конечно, значение должно быть другим, это зависит от того, на каком полигоне я нажимаю.

Можно ли это сделать в Silverlight?

Спасибо.

1 Ответ

1 голос
/ 01 октября 2009

Вы можете привести параметр sender к вашему типу пользовательского класса: -

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

Редактировать

В ответ на ваш комментарий тема фактического создания реализации пользовательского элемента управления слишком широка. Однако на веб-сайте есть множество статей для обзора. Вот пара примеров: -

С помощью простого веб-поиска "Custom Control Silverlight" можно найти множество других.

...