Ajouter un retour chariot à la ressource de chaîne dans WPF
Mon magasin d'applications toutes localisées texte dans une chaîne dictionnaire de ressources comme suggéré ici http://msdn.microsoft.com/en-us/library/bb295251(SV.85).aspx
<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:system="clr-namespace:System;assembly=mscorlib">
<!-- String resource that can be localized -->
<system:String x:Key="localizedMessage">en-US Message</system:String>
</ResourceDictionary>
Ma question est, comment puis-je ajouter une nouvelle ligne à une ressource de chaîne et de rendre correctement lorsqu'il est utilisé dans un TextBlock.
Faire ce inline travaux:
<TextBlock Name="test" Text="Line 1 Line 2"> </TextBlock>
Cependant, l'utilisation de
dans une ressource de chaîne ne fonctionne pas. Quelle est la meilleure façon d'ajouter une nouvelle ligne à une ressource de chaîne?
OriginalL'auteur Brent Lamborn | 2010-10-20
Vous devez vous connecter pour publier un commentaire.
Mise à JOUR: mise à jour de réponse - meilleure option
L'analyseur XAML normalisée des espaces selon les règles suivantes.
http://msdn.microsoft.com/en-us/library/cc189036(SV.95).aspx#espace
Instruire votre
sys:String
à préserver les espaces, appliquerxml:space="preserved
:Yep. Mais qu'est ce que vous êtes coincé avec - il serait bien si vous pouviez fournir explicite ou implicite de l'opérateur de conversion sur la LocalizedString type et avoir l'analyseur de le ramasser, mais il ne le fait pas. Je peux vous en montrer beaucoup plus compliqué que l'option impliquant une propriété attachée, mais je ne suis pas sûr que c'est mieux dans le long terme.
Mise à jour de la réponse ci-dessus avec la propriété attachée option.
Remarque: mise à jour de la réponse à être plus XAML spécifiques (avec des réels non solution de rechange)
OriginalL'auteur Adam Sills
Lorsque vous entrez une chaîne de ressource dans l'affichage des ressources, vous pouvez ajouter de la CR/LF en appuyant sur Maj + Entrée. Il va ajouter la nouvelle ligne et vous serez en mesure de le voir. La récupération de la chaîne de ressource et de le définir comme texte sur le bloc de texte sera ensuite céder l'effet désiré de reproduire le saut de ligne (ou de plusieurs retours à la ligne). Dans mon cas, j'ai voulu simuler deux paragraphes dans un seul bloc de texte. Je n'ai pas comme les autres méthodes, car il exigeait de la traduction dans une autre langue à traiter avec deux chaînes. Je voulais traiter cela comme une seule ressource de chaîne, de sorte que le traducteur avait le contexte de ce qu'ils étaient en train de traduire.
Cette réponse devrait être la accepté de répondre à
Il a travaillé pour moi. De façon plus simple que la réponse choisie.
OriginalL'auteur xstat
Donc, il a évidemment été un temps, mais pour ceux qui sont dans ma situation, peut-être cela aidera. Dans mon cas, j'avais un stand-alone XML fichier de ressources où j'étais déjà à l'aide de ...
... au sein de ma propre classe d'aide pour charger la chaîne de ressource. Donc pour moi la solution la plus simple était de simplement insérer un appel à la Remplacer comme suit:
Mon exemple de mon StringResources.xaml me permet d'utiliser le caractère d'échappement \n comme suit....
OriginalL'auteur ebol2000