У меня есть пользовательский значок, который содержит эллипс, и я хотел бы программно изменить его размер в коде 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;
}
}
}
}
}
Спасибо всем!