[英]How do I loop through a multi-column listbox in WPF?
我是WPF的初學者。 我擔心這聽起來像是一個愚蠢的問題。
我有兩列的列表框。 每個列表框項目都包含一個水平堆疊的面板,該面板又包含文本塊。
列表框為空,最終用戶通過放置在其他位置的幾個文本框添加了每個列表框項。 第一列接受字符串,第二列僅接受百分比。
(我在事件子句的相關部分附加了用戶要添加新行的內容。)
Private Sub btnAddItem_Click(sender As System.Object, e As System.Windows.RoutedEventArgs) Handles btnAddSplit.Click
'...
Dim ListBoxItemName As New TextBlock
ListBoxItemName.Text = Name.Text
ListBoxItemName.Width = 170
Dim ListBoxItemValue As New TextBlock
ListBoxItemValue.Text = SplitValue.Text
ListBoxItemValue.Width = 70
Dim ListBoxStackPanel As New StackPanel
ListBoxStackPanel.Orientation = Orientation.Horizontal
ListBoxStackPanel.Children.Add(ListBoxItemName)
ListBoxStackPanel.Children.Add(ListBoxItemValue)
Dim NewEntry As New ListBoxItem
NewEntry.Content = ListBoxStackPanel
MyListBox.Items.Add(NewEntry)
'...
End Sub
我希望能夠在每次觸發以上事件時檢查百分比列不超過100%。 我在列表框下方有幾個標簽,我想在其中顯示運行總計和剩余數量。
我的問題是:
1)如何遍歷百分比的第二列以顯示運行總額和余數?
2)是否有比ListBox更合適的東西可以使此操作更容易?
無論是在VB還是C#中,我都希望能有任何有關解決方案的指導。 非常感謝你。
根據您的代碼示例,您似乎遇到了與剛開始使用WPF時遇到的相同問題。 很難擺脫這種代碼背后的思想並接受數據綁定,但是我認為您應該嘗試一下。 您可能會發現這是值得的。
最終,我認為您最好的選擇是將一些對象集合綁定到列表框,然后遍歷該集合,例如...
<ListBox ItemsSource="{Binding StringPercentageCollection}" ... />
並將列,文本塊或任何布局綁定到“ YourStringPercentageObject”的公共屬性。
然后,“ StringPercentageCollection”可能是數據上下文中YourStringPercentageObject
的ObservableCollection(或其他集合)。 這樣您就可以正常地遍歷可觀察的集合。
如果可能,我會在另一個字段中跟蹤百分比。 這會將您的實現與用戶界面區分開來,這通常是個好主意。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.