我将值绑定到列表框,但字符串没有以正确的格式显示。
前我的弦喜欢
abc               10
abcd              20
asdfas            30
我使用填充将第一个字符串设为 30 的固定长度
str1.PadRight(30) + str2.PadRight(2)
然后我也得到了这样的价值观
abc     10
abcd        20
asdfas            30
请建议我如何在字符串之间放置相同的空格
Windows 用户界面通常使用可变宽度字体,因此您不能只在给定的列中填充空格以使文本对齐。
您将需要将 ListBox 设置为使用等宽字体(例如 Courier 或 Lucida Console),使用支持列的 ListView(或类似的),或实现所有者绘制的项目,以便您可以控制项目的显示方式,拆分文本以在列中绘制它。
我会创建一个包装文本和数字的 ViewModel:
class MyViewModel
{
    public string Text { get; set; }
    public int Number { get; set; }
}
然后给出进行布局的ListBoxan ItemTemplate:
<ListBox>
    <ListBox.ItemTemplate>
        <DataTemplate>
            <DockPanel>
                <TextBlock DockPanel.Dock="Left"
                           Text="{Binding Text}"/>
                <TextBlock DockPanel.Dock="Right"
                           Text="{Binding Number}"/>
            </DockPanel>
        </DataTemplate>
    </ListBox.ItemTemplate>
</ListBox>