我將值綁定到列表框,但字符串未以正確的格式顯示。如何驗證列表框中的字符串?
前我的琴絃一樣
abc 10
abcd 20
asdfas 30
我做了固定長度是30使用填充像
abc 10
abcd 20
asdfas 30
str1.PadRight(30) + str2.PadRight(2)
然後還我得到的值第一個字符串請建議如何在字符串
之間放置相同的空格10我將值綁定到列表框,但字符串未以正確的格式顯示。如何驗證列表框中的字符串?
前我的琴絃一樣
abc 10
abcd 20
asdfas 30
我做了固定長度是30使用填充像
abc 10
abcd 20
asdfas 30
str1.PadRight(30) + str2.PadRight(2)
然後還我得到的值第一個字符串請建議如何在字符串
之間放置相同的空格10Windows用戶界面通常使用可變寬度的字體,因此您不能只用空格填充給定列以使文本排列。
您需要將ListBox設置爲使用等寬字體(例如Courier或Lucida控制檯),使用支持列的ListView(或類似的),或實現自繪項目,以便控制項目被顯示出來,將文本拆分成列來繪製它們。
Windows窗體ListBox
支持多列。在constructor的文檔中有一個例子。
雖然這可能不適用於數據綁定。在這種情況下,您可能需要使用ListView
。
我想創建一個視圖模型包裹文本和號碼:
class MyViewModel
{
public string Text { get; set; }
public int Number { get; set; }
}
然後給ListBox
的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>
一個問題是,你可能不會使用固定寬度的字體。 –
嘗試將ListBox的Font屬性設置爲FixedSys。 – Steve
是的,請使用固定寬度的字體或使用多欄列表視圖或網格控件。 –