Шаблон канцелярской кнопки WPTK, основанный на уровне масштабирования карты
В моем приложении для Windows Phone я использую набор инструментов для Windows Phone 8, чтобы поместить несколько кнопок на элемент управления картой.
Моя карта управления и канцелярская кнопка выглядит так:
<maps:Map x:Name="lineMap" ZoomLevel="10">
<maptk:MapExtensions.Children>
<maptk:MapItemsControl x:Name="mapItemControl">
<maptk:MapItemsControl.ItemTemplate>
<DataTemplate>
<maptk:Pushpin GeoCoordinate="{Binding location}" Template="{StaticResource PushpinControlTemplate}" PositionOrigin="0.5,0.5" />
</DataTemplate>
</maptk:MapItemsControl.ItemTemplate>
</maptk:MapItemsControl>
</maptk:MapExtensions.Children>
</maps:Map>
Но как мне изменить шаблон канцелярской кнопки в зависимости от уровня масштабирования? Можно ли использовать DataTemplate и как получить уровень масштабирования? Или каков наилучший способ реализовать такую функциональность?
1 ответ
Лучший способ это зацепить ZoomLevelChanged
событие контроля карты (подробности можно найти на MSDN здесь...)
Поэтому, когда это событие срабатывает, вы можете изменить стиль вашего Pushpin
установив это Style
свойство, которое вы определили где-то...
(Pushpin)somePin.Style = Application.Current.Resources["PushpinStyle"] as Style;