2012-07-19 8 views
1

Je tente de localiser les outils DatePicker et TimePicker associés à la boîte à outils sur WP7, mais je ne suis pas sûr de la façon d'accéder à l'en-tête et aux textes de la barre d'application. Je n'ai pas été en mesure de trouver des liens montrant les méthodes d'accomplissement de ces tâches. Y a-t-il des liens utiles ou quelqu'un a-t-il la source de la façon dont cela peut être accompli?Comment localiser DatePicker et TimePicker dans WP8

Répondre

2
  1. méthode pour télécharger Source Easiest et des échantillons de la dernière version de la boîte à outils (novembre 2011) qui a par la localisation par défaut pour DatePicker et TimePicker.
  2. Ajoutez l'it comme référence de projet à votre solution.

Si vous avez la version Toolkit avant novembre 2011,

  1. Ajoutez à nouveau comme projet de référence dans votre solution
  2. En marge du projet Tookit dans votre solution. Ajoutez les fichiers resx nécessaires. Vous pouvez voir qu'il existe un fichier Resources.resx par défaut qui a le texte en anglais pour les sélecteurs de date. Ajoutez les fichiers resx nécessaires pour les autres langues.
+0

Je l'ai télécharger la version novembre avec la source et ajouté comme référence à mon projet, mais mon Les titres de page DatePicker et TimePicker et les icônes de la barre d'application ne sont pas traduits en conséquence? En outre, j'ai essayé d'ajouter les fichiers resx ControlResources à ma solution directement, puis de créer la solution, mais une fois de plus, les icônes de la barre d'outils Titre et de l'application ne se traduisent pas correctement. Qu'est-ce que je fais mal? – Matthew

+0

Les icônes de la barre d'applications ne seront pas traduites. Mais les autres le seront. Avez-vous inclus les langues nécessaires dans la culture soutenue? À l'intérieur de LocalizedResources, vous trouverez le droit de resx nécessaire? À quelle langue essayez-vous de localiser? – alfah

+0

Je crois que j'ai tout fait correctement, et je traduis dans toutes les langues supportées sur WP7. J'ai suivi ce tutoriel http://msdn.microsoft.com/en-us/library/ff637520(v=vs.92) et quand je change la langue d'affichage toutes les chaînes traduisent correctement à l'exception des chaînes DatePicker et TimePicker. – Matthew

1

C'est très simple: Paramètre - Langage. Code XAML:

<toolkit:DatePicker Language="ru-RU" Margin="-12, 0" Value="{Binding BirthDate, Mode=TwoWay}" /> 
+0

Merci, je vais regarder dans cela. J'ai mis à jour le nom de ma question pour inclure maintenant WP8 à la place, il peut être différent que je n'ai pas encore eu l'occasion d'utiliser le DatePicker. – Matthew

0

Une autre alternative sans modifier la source XAML est de modifier le TextBlock "headerTitle" une fois la page se charge.

/// <summary> 
    /// Called from app.xaml.cs if the user navigates to the DatePickerPage 
    /// </summary> 
    /// <param name="page">The page.</param> 
    public static void DatePickerHook(PhoneApplicationPage page) 
    { 
     // Somehow modify the text on the top of the page... 
     LoopThroughControls(page, (ui => { 
      var tb = ui as TextBlock; 
      if (tb != null && tb.Name == "HeaderTitle") 
      { 
       tb.Text = "<<Local Translation>>"; 
      } 
     })); 
    } 

    /// <summary> 
    /// Applies an action to every element on a page 
    /// </summary> 
    /// <param name="parent">The parent.</param> 
    /// <param name="modifier">The modifier.</param> 
    private static void LoopThroughControls(UIElement parent, Action<UIElement> modifier) 
    { 
     int count = VisualTreeHelper.GetChildrenCount(parent); 
     if (count > 0) 
     { 
      for (int i = 0; i < count; i++) 
      { 
       UIElement child = (UIElement)VisualTreeHelper.GetChild(parent, i); 
       modifier(child); 
       LoopThroughControls(child, modifier); 
      } 
     } 
     return; 
    } 

Voici le lien vers le blog qui décrit les modifications à App.xaml.cs aussi: http://blog.dotnetframework.org/2015/11/09/localise-datepicker-in-wp8-silverlighttoolkit-using-hooks/

Questions connexes