[Silverlight] Создание Custom Control. Помогите определиться
От:
Аноним
Дата:
01.07.11 06:48
Оценка:
доброго времени суток.
возникла задача — написать контрол под Silverlight отображения карты.
карта — набор квадратных растров небольшого размера 50х50 например. есть привязка каждого растрата к гео координатам. есть преобразования screen->geo и geo->screen. растров — сотни гигабайт. однако в экран помещается только будем считать штук сто (подгрузка/кеширование и т. п..)
собственно проблема в таскании этой карты мышкой. есть моя же реализация под windows forms. там это рисуется в прямом смысле слова. а здесь в silverlight я так понял, нужно использовать примитивы пользовательского интерфейса и биндинг.
собственно идей несколько:
1) Grid, в него динамически добавляем/удаляемся строки/столбцы по краям и/или меняем ширину/высоту краевых строк/столбцов в зависимости от вектора сдвига. а элементы в ячейках Image забиндиваются на подгружаемые картинки-куски карты создавая иллюзию перемещения.
2) тоже самое, только грид выкидываем а меняем Margin каждого Image. Сетки как таковой нет, просто рядом кладутся картинки в зависимости от их геопривязки.
3) В фоне из кусков собирать карту соответствующую видимому окну. И биндим с огроменным единственным контролом Image.
Как бы вы делали такое и какие грабли у приведенных подходов и какой лучше?