WPF中的C#字符串填充

时间:2013-11-09 20:34:07

标签: c# wpf string

我正在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时,它会将文本向右推进一点,因此列不对齐。任何提示或想法如何解决?

1 个答案:

答案 0 :(得分:2)

使用WPF,您可以选择Textblocks位于StackPanel DataTemplate内的多个Listbox ItemTemplate @Clemens 有一个很好的链接。您还可以将StackPanel Orientation设置为Horizontal,以便所有内容都在一行上。这样,您可以将TextAlignment设置为RightLeft。如果StackPanel无法正常工作,您还可以使用网格并设置GridColumns并将Textblocks放置到特定列。