Линия над MapControl исчезает, когда выходит из правой или нижней части элемента управления - PullRequest
0 голосов
/ 17 января 2019

У меня есть разные линейные элементы управления XAML, определенные внутри MapControl. Они меняют вращение, цвет, ... поэтому я подумал, что лучше делать со строками, которые с MapPolyline, которые должны оставаться статичными.

При перемещении по карте я обнаружил, что когда исходные линии находятся вне MapControl, иногда линии исчезают, иногда нет. Они исчезают только когда вне MapControl НО на правой стороне или нижней стороне. Этого не происходит, когда они выходят из левой или верхней стороны.

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

Есть идеи, почему это происходит? И как я могу сделать их видимыми все время?

Lines visible when origin (orange point) inside the MapControl

Линии, видимые, когда начало координат (оранжевая точка) внутри MapControl Lines hidden when Lines origin outside right side Линии скрыты, когда линии начинаются снаружи справа. Оранжевая точка видна частично.

Lines visible when origin outside left side Линии видны, когда источник за пределами левой стороны. Даже оранжевая точка находится вне элемента управления, но линии все еще видны.

Ответы [ 2 ]

0 голосов
/ 12 июня 2019

Я нашел решение проблемы исчезающих линий.

Все линии и формы XAML, которые были только на MapControl, должны быть сгруппированы внутри холста, ширины правильной ширины и высоты (в моем случае максимальная длина линий в обоих измерениях, а также в отрицательных и положительных направлениях, центр / закрепите холст в MapControl.Center и играйте с полями, чтобы правильно установить все элементы управления).

Во всех проведенных мною тестах линии остаются на экране, даже если начальная и конечная точки отсутствуют на экране.

0 голосов
/ 17 января 2019

Похоже, есть некоторый код, который переключает видимость вложенных элементов XAML в зависимости от того, находятся ли прикрепленные точки в окне просмотра. Вы можете обойти это, введя дополнительные точки вдоль линии. В общем, рекомендуется использовать MapElements, а не присоединенный XAML для большинства сценариев. XAML действительно должен использоваться только для таких вещей, как диалоги с богатым пользовательским интерфейсом, где у вас относительно мало таких объектов, прикрепленных к карте. MapPolyline будет работать лучше даже для сценариев, в которых вы хотите обновить свойства и положение, и будет синхронизироваться с движением карты намного лучше, чем XAML.

...