WP7中的自定义消息框

时间:2012-01-06 02:36:09

标签: windows-phone-7

我非常喜欢MessageBox.Show创建的窗口的外观/行为。如何从头开始创建一个,以便我可以添加其他东西,如文本框?

5 个答案:

答案 0 :(得分:3)

创建自己的版本有一个很好的article here,现在位于CodePlexCoding4Fun toolkit中有各种可自定义的MessageBox。如果您想自己完成所有操作,this guide也可以提供帮助。

答案 1 :(得分:2)

您可以尝试使用MessageBox,而不是使用Popup

但是,当弹出窗口打开时,您必须手动禁用屏幕上的控制(MessageBox自动为您执行此操作)。此外,您必须覆盖后退按钮的行为,以便后退按钮在Popup打开时关闭。这也是由MessageBox自动完成的。

答案 2 :(得分:0)

在Mix11中,Laurent Bugnion谈到了Mvvm。在hist示例中,有一个示例包括Custom MessageBox的实现。你可以从here下载源代码并查看“03 JsonDemo - WP7 DialogService”样本。

希望这有助于你。

答案 3 :(得分:0)

看看这个custom implementation。外观和行为就像开箱即用的MessageBox一样,易于使用。我在我的两个手机应用程序中使用过它。

答案 4 :(得分:0)

添加对Microsoft.Xna.FrameworkMicrosoft.Xna.Framework.GamerServices的引用,然后您可以执行以下操作:

Guide.BeginShowMessageBox("Title",
                          "Text",
                          new List<String> { "Answer 1", "Answer 2" },
                          0, // Focus button
                          MessageBoxIcon.Alert,
                          asyncResult =>
                          {
                              int? response = Guide.EndShowMessageBox(asyncResult);
                              if(response == null)
                              {
                                  // Back button pressed
                              }
                              else if(response == 0)
                              {
                                  // "Answer 1" pressed
                              }
                              else if(response == 1)
                              {
                                  // "Answer 2" pressed
                              }
                          },
                          null);

我已经使用Windows Phone 7进行了测试,它似乎可以正常运行。