如何根据用户在Windows Phone 8中选择的语言更改消息框按钮内容

时间:2014-01-08 13:05:05

标签: windows-phone-7 windows-phone-8 localization messagebox

我正在开发windows phone 8应用程序,这个应用程序应该使用英语和阿拉伯语两种语言。

在某些屏幕中,我显示的消息框中包含一些消息和按钮(OK,CANCEL)。 当应用程序是英文时,按钮内容(OK和CANCEL)以英文显示。没关系。

但是当应用程序以阿拉伯语运行时,按钮内容不会以阿拉伯语显示。它仅以英文显示

我应该如何根据语言更改按钮内容。

由于

2 个答案:

答案 0 :(得分:0)

您应该使用Windows Phone toolkit CustomMessageBox控件。 它很容易本地化:

 CustomMessageBox messageBox = new CustomMessageBox()
    {                
        Caption = "Do you like this sample?",
        Message = "There are tons of things you can do using custom message boxes. To learn more, be sure to check out the source code at Codeplex.",
        LeftButtonContent = "yes",
        RightButtonContent = "no",
        IsFullScreen = (bool)FullScreenCheckBox.IsChecked
    };

答案 1 :(得分:0)

在Windows Phone 8中,您可以访问Microsoft.Xna.Framework.GameServices,它具有更多功能的消息框,您无需下载单独的库。

IAsyncResult result = Microsoft.Xna.Framework.GamerServices.Guide.BeginShowMessageBox(
    AppResources.SmsConfirmText,
    "",
    new string[] { AppResources.OkText, AppResources.CancelText },
    0,
    Microsoft.Xna.Framework.GamerServices.MessageBoxIcon.None,
    null,
    null);

// Include following line if you want it to be synchronous
result.AsyncWaitHandle.WaitOne();

int? choice = Microsoft.Xna.Framework.GamerServices.Guide.EndShowMessageBox(result);
if(choice.HasValue)
{
    if(choice.Value==0)
    {
        // User clicked on the first button: AppResources.OkText
    }
    else if(choice.Value==1)
    {
        // User clicked on the second button: AppResources.CancelText
    }
}

来源:http://developer.nokia.com/community/wiki/Advanced_MessageBox_for_Windows_Phone