¿Cómo puedo configurar un texto como subíndice/superíndice en FormattedText en WPFConjunto superíndice y el subíndice de texto con formato en WPF
Respuesta
Se utilizan Typography.Variants:
<TextBlock>
<Run>Normal Text</Run>
<Run Typography.Variants="Superscript">Superscript Text</Run>
<Run Typography.Variants="Subscript">Subscript Text</Run>
</TextBlock>
Usted puede usar algo como <TextBlock>5x<Run BaselineAlignment="Superscript">4</Run> + 4</TextBlock>
.
Sin embargo, que yo sepa, tendrá que reducir el tamaño de letra usted mismo.
¿Es normal que después de cada ejecución se agregue un espacio? Funciona bien de lo contrario. –
¡Trabajó para mí, gracias! –
No sé si es necesario que esto funcione con FormattedText específicamente, o que significa derivaciones de línea, pero el siguiente trabajo en inlines, incluso si la tipografía .Variants = "Superíndice" no funciona.
TextRange selection = new TextRange(document.ContentStart, document.ContentEnd);
selection.ApplyPropertyValue(Inline.BaselineAlignmentProperty, BaselineAlignment.Superscript);
Espero que ayude!
Esto falla miserablemente en mis pruebas, basado en RichTextBox y de otro modo exitoso con negrita, cursiva, subrayado, familia de fuentes/color/tamaño. Yo uso el mismo .ApplyPropertyValue() con todos ellos. Yo uso ToggleButton así que verifico que la alineación está establecida y recordada, pero sin efecto visual. – person27
Typography.Variants funciona solo para tipo de letra abierta. Si no te gusta sus superíndices/subíndices que van fuera de la altura del texto real, puede utilizar algo como lo siguiente:
<StackPanel Orientation="Horizontal">
<TextBlock FontSize="10" Margin="0,5,0,0">1</TextBlock>
<TextBlock FontSize="30">H</TextBlock>
<TextBlock FontSize="10" Margin="0,20,0,0">2</TextBlock>
</StackPanel>
Ajuste para superíndice funciona bien con el siguiente código:
<TextBlock Text="(cm" />
<TextBlock ><Span BaselineAlignment="Top" FontSize="8">2</Span></TextBlock>
<TextBlock Text=")" />
Ajuste de la La alineación base para el subíndice en la etiqueta Span no funcionó para mí. Probé el siguiente código y funcionó bien.
<TextBlock Text="H" />
<TextBlock Text="2" Margin="-2,0,-2,0" TextBlock.LineHeight="3" >
<TextBlock Text="O" />
que utiliza una transformada de diseño, porque Typography.Variants
menudo no funciona:
<TextBlock Text="MyAmazingProduct"/>
<TextBlock Text="TM">
<TextBlock.LayoutTransform>
<!-- Typography.Variants="Superscript" didn't work -->
<TransformGroup>
<ScaleTransform ScaleX=".75" ScaleY=".75"/>
<TranslateTransform Y="-5"/>
</TransformGroup>
</TextBlock.LayoutTransform>
</TextBlock>
<TextBlock Text="{Binding Path=Version, StringFormat={} v{0}}"/>
La ventaja de usar un LayoutTransform
es que es insensible al tamaño de fuente. Si el tamaño de fuente se cambia después, este superíndice funciona donde se rompe la configuración de FontSize explícita.
Esto es lo único que funcionó para mí. También le da más control sobre la alineación y el tamaño de la fuente.
<TextBlock Grid.Row="17">
3 x 3<Run FontSize="6pt" BaselineAlignment="TextTop">2</Run>)
</TextBlock>
Es interesante notar que para algunos caracteres (m , m , etc) no se necesita un superíndice, pero el carácter Unicode se puede utilizar. Por ejemplo:
<Run Text=" m³" />
Esto demostraría m .
- 1. Superíndice/subíndice en hipervínculo en WPF
- 2. superíndice contentEditable y subíndice en Chrome
- 3. subíndice y superíndice para el mismo elemento
- 4. HTML: ¿puedo colocar texto de subíndice justo debajo del superíndice?
- 5. subíndice y superíndice en ylab de qplot [R]
- 6. superíndice/subíndice en las etiquetas para gnuplot leído del archivo de datos
- 7. ¿Aparece el texto de formato WPF?
- 8. Formato de texto WPF en GridViewColumn
- 9. Cómo alinear su superíndice con su texto principal en HTML
- 10. WPF - TextBlock - formato de texto mediante programación
- 11. texto Conjunto RTF en el control RichTextBox WPF
- 12. WPF TextBox Enlace con formato
- 13. Conjunto enfoque en la caja de texto en WPF
- 14. ¿Cómo se usa sub y superíndice en el texto de Mathematica, por ejemplo, fórmulas químicas?
- 15. Tesseract y el formato tiff - spp no en conjunto {1,3}
- 16. superíndice en Java String
- 17. Plantilla de botón con imagen y texto en wpf
- 18. Exportar el registro en formato de texto sin formato
- 19. texto de medición en WPF
- 20. Cómo convertir súper o subíndice al texto normal en C#
- 21. ¿Cómo escribo texto en subíndice en las etiquetas de los ejes y la leyenda?
- 22. C# ToTitleCase y fechas/horas con formato de texto
- 23. Usando F1 Help (formato CHM) Con WPF
- 24. Lectura de texto con formato utilizando Python
- 25. R: subíndice no válido 'lista'
- 26. porcentaje de dos vías con formato de unión en WPF
- 27. Python: Cómo convertir texto con formato de rebajas al texto
- 28. Formato WPF DateTime en TextBlock?
- 29. wpf: ¿Seleccionar el texto en TextBox con IsReadOnly = true?
- 30. StringFormat en XAML, WPF: formato de moneda
Hay algunos errores conocidos con esto, al menos a partir de .Net 4.0: http://social.msdn.microsoft.com/Forums/en/wpf/thread/f375a41b-2c36-4e51-8f6b-7ed828431412. No sé si está corregido en .Net 4.5. – skybluecodeflier
si alguien obtiene este error con Win7, mire este enlace para solucionarlo support.microsoft.com/kb/2670838 – WiiMaxx
Debe tenerse en cuenta que la fuente de IU predeterminada para Windows (y WPF) no admite subíndices ni superíndices antes de Windows 8 . –