我怎麼能在WPF設置標和下標在格式化文本在WPF
回答
<TextBlock>
<Run>Normal Text</Run>
<Run Typography.Variants="Superscript">Superscript Text</Run>
<Run Typography.Variants="Subscript">Subscript Text</Run>
</TextBlock>
您可以使用類似<TextBlock>5x<Run BaselineAlignment="Superscript">4</Run> + 4</TextBlock>
設置一些文本作爲下標/上標在FormattedText。
但是,據我所知,你將不得不減小字體大小。
在每次運行後添加空間是否正常?否則它工作正常。 – 2014-08-26 13:49:25
爲我工作,謝謝! – 2015-05-24 23:43:05
我不知道你是否需要這個與FormattedText 專門工作,或者你的意思是行內的推導,但即使下面的工作就內聯,印刷術.Variants =「Superscript」無法正常工作。
TextRange selection = new TextRange(document.ContentStart, document.ContentEnd);
selection.ApplyPropertyValue(Inline.BaselineAlignmentProperty, BaselineAlignment.Superscript);
希望它有幫助!
在我的測試中,基於RichTextBox以及其他以粗體,斜體,下劃線,字體系列/顏色/大小成功的方式失敗。我使用相同的.ApplyPropertyValue()與所有這些。我使用了ToggleButton,所以我驗證了對齊是否已設置並記住,但沒有視覺效果。 – person27 2017-10-02 19:32:38
Typography.Variants僅適用於打開式字體。如果你不喜歡你的上標/標實際文本的高度外面去,那麼你可以使用類似以下內容:
<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>
設置爲上標工作正常用下面的代碼:
<TextBlock Text="(cm" />
<TextBlock ><Span BaselineAlignment="Top" FontSize="8">2</Span></TextBlock>
<TextBlock Text=")" />
設置Span標籤中下標的Baseallignment對我無效。 我試過下面的代碼,它工作正常。
<TextBlock Text="H" />
<TextBlock Text="2" Margin="-2,0,-2,0" TextBlock.LineHeight="3" >
<TextBlock Text="O" />
我使用的佈局轉換,因爲Typography.Variants
往往不能奏效:
<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}}"/>
使用LayoutTransform
的優點是,它是不敏感的字體大小。如果之後字體大小發生了變化,則此上標在顯式FontSize設置中斷的情況下起作用。
這是唯一對我有用的東西。它還使您可以更好地控制對齊和字體大小。
<TextBlock Grid.Row="17">
3 x 3<Run FontSize="6pt" BaselineAlignment="TextTop">2</Run>)
</TextBlock>
有趣的是要注意,某些字符(M ,男等)不需要標,但可以使用Unicode字符。例如:
<Run Text=" m³" />
這將顯示米。
- 1. 如何在openpyxl中將文本格式設置爲下標
- 2. 爲上標和下標格式化NSString
- 3. WPF:格式化標籤
- 4. 設置按鈕標題非格式化文本
- 5. 在標籤中設置日期格式的文化
- 6. WPF:如何在目標文本框具有焦點時設置標籤樣式?
- 7. Visual Studio - WPF - 在設計時設置標準文字樣式
- 8. 如何在GWT標籤部件中設置文本格式
- 9. 標記了標籤和換行預格式化文本
- 10. 嘗試重置在WPF格式文本框控件的光標位置
- 11. h:graphicImage標題 - 格式化文本
- 12. Python Tkinter文本格式化標記
- 13. Django文本格式化,標記?降價?
- 14. 如何在WPF RichTextBox中設置純文本格式
- 15. 在ASP.NET web.config全球化標記中設置日期格式?
- 16. 在MVC設置中,應該在哪裏格式化文本?
- 17. 如何使用HTML標籤設置文本格式在一個EditText在Android中
- 18. WPF和文本格式的文本框
- 19. 文本格式在一個.NET標籤
- 20. 在標籤中設置文本
- 21. Swift:在AppDelegate中設置標籤文本
- 22. 在javascript中設置標籤的文本
- 23. 在AlertDialog.Builder中設置文本格式
- 24. 設置文本格式在ASP.Net的BoundField
- 25. 設置文本格式輸出在UNIX
- 26. 在Chrome中設置文本格式Omnibox
- 27. 如何在WPF網格設置樣式
- 28. 如何在Silverlight RichTextBox中設置格式化文本?
- 29. 如何設置Android Studio中格式化文本在Ubuntu
- 30. 格式化包含圖形的標題標籤中的文本
有一些已知的錯誤,至少從.Net 4.0起:http://social.msdn.microsoft.com/Forums/en/wpf/thread/f375a41b-2c36-4e51-8f6b-7ed828431412。不知道它是否固定在.Net 4.5中。 – skybluecodeflier 2012-03-20 17:35:30
如果有人得到這個與Win7的bug看看這個鏈接來解決它support.microsoft.com/kb/2670838 – WiiMaxx 2013-03-07 15:09:21
應該指出,Windows(和WPF)的默認UI字體支持Windows 8之前的下標或上標。 – 2013-04-05 20:02:29