0

我正在尝试使用 XAML 制作发票流文档。

我正在使用数据绑定来填充 ItemsControl 这就像它应该的那样工作,但我的文本没有对齐。通过使用:

String.Format("{0,-5}x   {1,-25}  €{2}", QT, "Desc", "Price")

将它写入文本文件可以完美地工作,但每当我将它放入 List(Of String) 时它就不起作用。我在这里做错了什么?

  Dim myCollection As New List(Of String)()

    Dim derpa As String
    derpa = String.Format("{0,-5}x   {1,-25}  €{2}", 4, "PYAH", "123")
    myCollection.Add(derpa)
    derpa = String.Format("{0,-5}x   {1,-25}  €{2}", 44, "PYAH2", "123")
    myCollection.Add(derpa)

    derpa = String.Format("{0,-5}x   {1,-25}  €{2}", 232, "PYAH2we", "33232")
    myCollection.Add(derpa)

    derpa = String.Format("{0,-5}x   {1,-25}  €{2}", 12, "asdasd", "213123")
    myCollection.Add(derpa)

    For Each item In myCollection
        derpaderpa.Text &= vbNewLine & item 'WPF Textblock

    Next

是我拥有的当前代码。

4

1 回答 1

0

文本没有对齐,因为您使用的是比例字体,而不是固定宽度字体。对于比例字体,并非所有字符的宽度都相同 - 特别是空格小于字母(并且字母大小不同)。文本编辑器显示为对齐,因为它使用所有字符大小相同的固定宽度字体。如果您要在 MS Word 中打开文本文件,您会看到它没有对齐。

您可以将 ItemsControl 中的字体更改为固定宽度的字体(例如 Lucidia Console)。您可能想要的是一个带有嵌入式 GridView 的ListView,它将每个信息项显示为一个单独的列 - 它排列数据。

于 2013-09-29T18:20:28.133 回答