也许,我想,事情太简单了。我有一个数据网格,从后面的代码中动态添加列。这行得通。然后我有整数值的列,我希望在列中看到右对齐,但它失败了。我的代码是:
public List<List<int>> IntegerData { get; set; }................
DataGridTextColumn textC = new DataGridTextColumn();
textC.Header = ("Column");
textC.Binding = new Binding(string.Format("[{0}]", i));
textC.Binding.StringFormat = "00000";
最后我有类似的东西:
myDataGrid.Itemssource = IntegerData
使用 textC.Binding.String.Format 的问题是:(首先:似乎 stringFormat-LIne 正确地重载了前一行)
格式“0”给出一个整数“1”“2”,这是正确的。
格式“00000”给出“00001”“00002”“00003”,这对于字符串格式是正确的,但不是我想要的
但:
格式 "######" 也给出 "1" "2" .. 等等(左对齐,没有前导空格)
由于格式规则,我本来期望(或希望),##### 是所描述的占位符,结果是 "bbbb1" , "bbbb2" 右对齐。(b 在这里表示空白!)
因此,Binding 似乎可以正确处理“00000”格式,但不能正确处理“######”格式。有人对此想法有任何想法或经验吗?(我在互联网上找到的所有其他绑定要复杂得多)