在我的 WPF 应用程序内部有一个
RichTextBox
,通过在 VS 立即窗口中显示其文本内容,有一个带有扬抑符的 f
字符,但在显示窗口中仅呈现没有变音符号的字符。
这两个方法设置和检索 RTB 内容:
Function rtbText(rtb As RichTextBox) As String
Dim txtRng As New TextRange(rtb.Document.ContentStart, rtb.Document.ContentEnd)
Return txtRng.Text
End Function
Sub rtbSetText(rtb As RichTextBox, s As String)
Dim flowDoc As New FlowDocument
Dim r As New Run(s)
Dim p As New Paragraph
p.Inlines.Add(r)
flowDoc.Blocks.Add(p)
rtb.Document = flowDoc
End Sub
RTB 控制的即时窗口报告
rtbString
:
?rtbtext(rtbString)
"f̂(x,y,t)=1/(n*h_x*h_y*h_t)¡∑_i=1^n▒k(x−X_i)/(h_x)×k(y−Y_i)/(h_y)×k(t−T_i)/(h_t)" & vbCrLf
第一个字符 f̂ 出现在
rtbString
中,但未正确显示:
这是与字体系列相关的问题。尝试将其设置为,例如,
Segoe UI
:
<RichTextBox FontFamily="Segoe UI" FontSize="22" ...
当字体不包含所需字符时,系统会尝试适应当前字体,但并不总能获得预期结果。