RichTextBox项目符号点对齐显示问题(左,中,右)

时间:2017-06-20 08:51:37

标签: wpf vb.net forms winforms richtextbox

输入我的电子邮件时,我有以下显示问题'形式:

Bullets incorrectly aligned

我有左,中,右对齐的子弹点。要生成所选文本项目符号列表样式,将激活一个按钮,该按钮执行以下操作:

chkBullet.CheckState = If(isSelectionBulletList(richTextBox), CheckState.Checked, CheckState.Unchecked)

反过来,将段落激活为子弹列表:

Private Function isSelectionBulletList(RichTextBox As RichTextBox) As Boolean
Dim startParagraph As Paragraph = RichTextBox.Selection.Start.Paragraph
If startParagraph IsNot Nothing Then
  If TypeOf (startParagraph.Parent) Is ListItem Then
    Dim markerStyle As TextMarkerStyle = CType(startParagraph.Parent, ListItem).List.MarkerStyle
    If markerStyle = TextMarkerStyle.Disc Then
      Return True
    End If
  End If
End If
Return False
End Function

要将突出显示的项目符号移动到所需的路线,我运行以下内容:

 Align(0).Checked =
  (CType(richTextBox.Selection.GetPropertyValue(Paragraph.TextAlignmentProperty), TextAlignment) =
   TextAlignment.Left)

正确地移动文本,但不会移动带有文本的项目符号。

我稍后运行RTF到HTML转换并将电子邮件发送到我的收件箱,并且子弹点正确对齐,如下所示:

enter image description here

有谁知道如何解决这个显示问题?

1 个答案:

答案 0 :(得分:0)

似乎没有立即解决此问题。

一位经验较丰富的同事建议,此问题的解决方法是使用 RichTextBox 创建自定义WPF控件

根据Microsoft论坛主题:https://social.msdn.microsoft.com/Forums/vstudio/en-US/efbd8f0a-4f6d-4e7b-8988-cc17a02e354b/wpf-applying-alignment-to-a-list-in-a-rich-text-box?forum=wpf

,请参阅此处了解已知问题