Praetorian
Praetorian

Reputation: 109289

WP7 Popup not showing

In my app I want to display a simple string within a popup when the user clicks on an image. For this I added a Tap gesture listener to the image and within the handler I have the following code:

private void GestureListener_Tap( object sender, GestureEventArgs e )
{
  var img = sender as Image;
  if( img == null ) {
    return;
  }

  Point pos = e.GetPosition( img );
  string text = "I'm a popup!";

  var popup = new Popup() {
    Child = new Border() {
      BorderBrush = new SolidColorBrush( Colors.LightGray ),
      Child = new TextBlock() {
        Text = text,
        TextWrapping = TextWrapping.Wrap,
      },
    },
    HorizontalAlignment = HorizontalAlignment.Stretch,
    HorizontalOffset = pos.X,
    VerticalOffset = pos.Y,
    Visibility = Visibility.Visible,
  };

  popup.IsOpen = true;
  Debug.WriteLine( "GestureListener_Tap: " + text );
}

The call to WriteLine prints in the debugger output window but the popup doesn't get displayed. What am I doing wrong here?

Thanks for your help!

Upvotes: 2

Views: 2113

Answers (1)

Fredrik Hedblad
Fredrik Hedblad

Reputation: 84684

I tried your code and the Popup is displayed. I think the problem for you is the Position for the Image relative to the Mouse. Try to set another Background for the Parent Container and I think you'll see the Popup. You can also try to play around with

Point pos = e.GetPosition(null);

until you get the Position you require

Upvotes: 2

Related Questions