如何在Windows Phone 7中将消息框的ok和取消按钮翻译成其他语言

时间:2013-10-28 04:17:26

标签: windows-phone-7

这是一个问题,因为我想更改“ok”和“cancel”按钮的一些文本,

而不是“ok”按钮,我想用其他语言写,也用于取消按钮

类似的东西:

[OK] Đồng ý
[Cancel] Hủy

我使用的是默认代码:

if (MessageBox.Show("We are redirecting to our youtube channel?", "", MessageBoxButton.OKCancel) == MessageBoxResult.OK)
                {

                }

enter image description here

2 个答案:

答案 0 :(得分:1)

您可以使用XNA DLL创建自定义消息框。允许的命名空间列表位于XNA Framework and Windows Phone 8 development中。您需要在项目中添加Microsoft.Xna.Framework.GameServices程序集。您会注意到该程序集的Guide类具有名为BeginShowMessageBox(...)的方法。您可以使用它来自定义消息框。以下是完整的代码。

IAsyncResult result = Microsoft.Xna.Framework.GamerServices.Guide.BeginShowMessageBox(
"",
"We are redirecting to our youtube channel?",
new string[] { "Đồng ý", "Hủy" },
0,
Microsoft.Xna.Framework.GamerServices.MessageBoxIcon.None,
null,
null);

result.AsyncWaitHandle.WaitOne();

int? choice = Microsoft.Xna.Framework.GamerServices.Guide.EndShowMessageBox(result);
if(choice.HasValue)
{
    if(choice.Value == 0)
    {
         //User clicks on the first button
    }
}

来源:Advanced MessageBox for Windows Phone

此外,您还可以创建一个用作自定义消息框的用户控件,查看Creating a Custom MessageBox for Windows Phone Applications

TCD.Controls也有CustomMessageBox。

NuGet for TCD.Controls

A Custom (Async) MessageBox for WPF and Windows Phone using TCD.Controls

答案 1 :(得分:0)

使用MessageBox类而不是实现自己的功能的动机是在运行时从系统中提取控件的文本资源。这意味着如果手机设置为其他语言,则消息框控件将与该语言匹配。

这意味着手机必须配置为越南语而不是英语,这样的工作要少得多:)

对于您创建的字符串(与此示例中的MessageBox字符串相对),您可以使用您想要的任何语言提供字符串的定义,然后更改手机的默认语言设置。

 http://msdn.microsoft.com/en-us/library/windowsphone/develop/ff637520(v=vs.105).aspx