2009-09-02 27 views
79

estoy tratando de hacer esto:¿Cómo poner un carácter Unicode en XAML?

<TextBlock Text="{Binding Path=Text, 
          Converter={StaticResource stringFormatConverter}, 
          ConverterParameter='&\u2014{0}'}" /> 

Para obtener una — a aparecer delante del texto. No funciona ¿Qué debería estar haciendo aquí?

Respuesta

147

Dado que XAML es un formato de archivo XML, puede probar el escape de caracteres XML. Entonces, en lugar de escribir &\u2014, podría escribir &#x2014;.

+0

gracias. Intenté — y \ u2014, pero no eso. Funcionó. –

+1

Estabas cerca, en hexa y # x20ac; y en unicode decimal € obtendrá y Euro :) – user347594

+0

Sí, pero ¿y si desea un carácter UTF-32, como las notas musicales en la fuente Symbola que están por encima de 0x10000? –

7

en XAML lo hice así:

<Button Grid.Column="1" Grid.RowSpan="2" Name="start" Margin="5" Click="start_Click"> 
     <TextBlock Name="test" FontFamily="pack://application:,,,/Y_Yoga;Component/Resources/#FontAwesome">&#xF04B;</TextBlock> 
    </Button> 

la esperanza de ser útil!

2

From Microsoft documentation: archivos

de marcado que se crean en Microsoft Visual Studio se guarda automáticamente en el formato de archivo Unicode UTF-8, lo que significa que mayoría de caracteres especiales, tales como tildes, se codifican correctamente . Sin embargo, hay un conjunto de caracteres especiales comúnmente usados ​​que son manejados de manera diferente. Estos caracteres especiales siguen el estándar XML World Wide Web Consortium (W3C) para la codificación.

Lo que esto significa es que se puede hacer zalgo para todo lo que importa

enter image description here

bits de código que es relevante:

<Label Grid.Column="0" Grid.Row="3" FontWeight="ExtraBlack">STAGE:M&#x363;&#x36d;&#x363;&#x33e; V&#x363;&#x365;&#x36d;&#x35b;&#x364;&#x36e;&#x365;&#x368;&#x365;&#x367;&#x33e;</Label> 
Cuestiones relacionadas