Windows Phone 8: как сделать так, чтобы текстовое поле канцелярской кнопки оставалось поверх любых других элементов на карте?

У меня есть карта со 100 канцелярскими кнопками. Каждый раз, когда я нажимаю на канцелярскую кнопку, текстовое поле с описанием открывается рядом с этой канцелярской кнопкой (одновременно может быть открыто только 1 текстовое поле, когда вы нажимаете канцелярскую кнопку, предыдущее открытое текстовое поле закрывается первым), но иногда текстовое поле не сверху других кнопок над текстовым полем появляются другие кнопки, что затрудняет чтение описания. Я пытался использовать Canvas и Canvas.ZIndex, но ничего не работало должным образом.


person Rares Felecan    schedule 23.05.2013    source источник


Ответы (1)


У меня была аналогичная проблема, и я решил ее, удаляя и снова добавляя объект всякий раз, когда он постукивал.

MapLayer theLayer = new MapLayer();
MapOverlay theOverlay = new MapOverlay()
{
    GeoCoordinate = new GeoCoordinate(lat, lng)
};
var pp = new StackPanel { Background = new SolidColorBrush(Colors.Black), Orientation = System.Windows.Controls.Orientation.Vertical };
var img = new Image()
{
    Source = new BitmapImage(new Uri(url, UriKind.Absolute)),
    Width = 50,
    Height = 50
};
pp.Children.Add(img);
img.Tap += (object emitter, System.Windows.Input.GestureEventArgs e) => {
    theLayer.Remove(theOverlay);
    theLayer.Add(theOverlay);
};
theOverlay.Content = pp;
theLayer.Add(theOverlay);

Надеюсь это поможет!

person gfhuertac    schedule 04.09.2013