Как изменить размер элемента в пользовательской метке в BingMaps для Silverlight - PullRequest
3 голосов
/ 10 января 2012

У меня есть пользовательский значок, который содержит эллипс, и я хотел бы программно изменить его размер в коде C #. Я могу изменить размер канцелярской кнопки, однако это влияет на ее местоположение на карте.

Есть ли способ для меня обратиться к эллипсу непосредственно через преобразование рендеринга или путем непосредственного изменения его высоты и ширины?

Вот xaml:

<map:Pushpin Location="51.4,-0.2" >
    <map:Pushpin.Template>
        <ControlTemplate>
            <Ellipse Width="15" Height="15" Fill="Red" Opacity="0.7" Stroke="Black" StrokeThickness="2.5">
                 <Ellipse.RenderTransform>   
                     <TranslateTransform X="0" Y="18" />
                 </Ellipse.RenderTransform>
             </Ellipse>
         </ControlTemplate>
     </map:Pushpin.Template>
</map:Pushpin>

Вот C #, который я использую в настоящее время, который изменяет размеры канцелярской кнопки (в настоящее время на случайное число):

private void MapItemsSizeChange()
{
    Random rnd = new Random();
    ScaleTransform pin_st = new ScaleTransform();

    if (mainMap != null)
    {
        foreach (UIElement UI in mainMap.Children)
        {
            if (UI is Pushpin)
            {
                var pin = UI as Pushpin;

                if (pin != null)
                {
                    double x = rnd.Next(5, 20);
                    x = x / 10;

                    pin_st.ScaleX = x;
                    pin_st.ScaleY = x;

                    UI.RenderTransform = pin_st;
                }
            }
        }
    }
}

Спасибо всем!

1 Ответ

0 голосов
/ 07 февраля 2012
...