0

我正在 C# 上编写一个 WPF 应用程序,其中有一个 ListBox。列表框的每一行都有一个项目,格式如下:

ID Name     Price

我知道 ID 最多为 3 个数字,最少为 1 个并且名称少于 25 个字符,所以我想在列中对齐这 3 个值,如下所示:

194 Item Name 1          24.99
1   Item Other Name       4.00
13  Item Item Item       32.22

等等......我尝试了几件事:

string.Format("{0} {1} {2:0.00}", id.ToString().PadRight(4), name.PadRight(25), price)

我尝试的另一个选项:

string.Format("{0, -4} {1, -25} {2:0.00}", id, name, price)

不幸的是,每次我得到一个 3 个数字的 ID 时,它都会将文本向右推一点,因此列不对齐。任何提示或想法如何解决这个问题?

4

1 回答 1

2

您可以选择在's中包含WPF多个Textblocksin a 。@Clemens有一个很好的链接。您还可以将 StackPanels 设置为所有都在一行上。这样,您可以将to或. 如果 StackPanel 不能正常工作,您还可以使用 Grid 并将其设置并放置到特定列。StackPanelDataTemplateListboxItemTemplateOrientationHorizontalTextAlignmentRightLeftGridColumnsTextblocks

于 2013-11-09T20:53:40.530 回答