Как центрировать пользовательский элемент управления внутри Pushpin с Bing Maps для Windows Phone 7 - PullRequest
2 голосов
/ 12 мая 2011

Как сделать так, чтобы пользовательский центр центрировался в точке расположения метки, а не внутри и относительно значка канцелярской кнопки?

Я попытался выполнить выравнивание по нижней части, а также указать поле дляконтроль.

Спасибо,

Ответы [ 2 ]

6 голосов
/ 13 мая 2011

Pushpin имеет свойство под названием PositionOrigin, которое указывает, где фактическая точка местоположения относительно графического объекта Pushpin.Например, установка PositionOrigin="0.5, 0.5" приведет к центрированию всего элемента канцелярской кнопки над фактическим местоположением.

Я не уверен, что это полезно для вас, поскольку формулировка вашего вопроса подразумевает, что вы хотите сохранить существующийКанцелярская кнопка графическая, но переводит пользовательский контроль, размещенный в Контенте.

3 голосов
/ 12 мая 2011

Используйте TranslateTransform в RenderTransform, чтобы сместить на половину ширины и высоты вашего контента.

Например, в Car Finder (когда он в конечном итоге проходит сертификацию) я использую значок перекрестия для обозначения текущего местоположения пользователя, которое представляет собой путь 38x38, поэтому смещение равно -19 / -19:

<ControlTemplate x:Key="LocationPushpin" TargetType="maps:Pushpin">
    <Path Data="M50 0C22.43 0 0 22.43 0 50c0 27.569 22.43 50 50 50s50-22.431 50-50C100 22.43 77.57 0 50 0z M54.032 91.737V78.226h-8.064  v13.512C26.057 89.829 10.171 73.943 8.263 54.032h13.512v-8.064H8.263c1.909-19.911 17.794-35.796 37.705-37.705v13.511h8.064  V8.263c19.911 1.908 35.797 17.793 37.705 37.705H78.226v8.064h13.512C89.829 73.943 73.943 89.829 54.032 91.737z"
          Fill="#000000"
          Height="38"
          Stretch="Uniform"
          Width="38">
        <Path.RenderTransform>
            <TranslateTransform X="-19" Y="19" />
        </Path.RenderTransform>
    </Path>
</ControlTemplate>
...