WP7 Popup没有显示

时间:2011-01-01 06:02:27

标签: windows-phone-7 popup

在我的应用中,我想在用户点击图片时在弹出窗口中显示一个简单的字符串。为此我向图像添加了一个Tap手势监听器,在处理程序中我有以下代码:

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 );
}

WriteLine的调用在调试器输出窗口中打印,但弹出窗口不会显示。我在这里做错了什么?

感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

我尝试了你的代码并显示了Popup。我认为你的问题是图像相对于鼠标的位置。尝试为父容器设置另一个背景,我想你会看到Popup。您也可以尝试使用

Point pos = e.GetPosition(null);

直到你得到你需要的位置