这是我的问题:我正在WPF应用程序中使用某些ComboBox
,并且我想用ComboBoxItemPlus
来填充它们,基本上是ComboBoxItem
,还有更多属性为了更轻松地将它们与数据链接。我的问题是我想自动填充这些ComboBox
。为此,我声明了一个ComboBoxItemPlus
的列表,一个实例地实例化它们,然后将它们的值赋予这样的值:(在这种情况下,我可以一个一个地完成它,因为只有七个,但是我会必须在之后添加更多元素)
Private Sub FillCBB_Jour()
Dim item(7) As ComboBoxItemPlus
For Each it As ComboBoxItemPlus In item
it = New ComboBoxItemPlus
Next
With item(0)
.Content = New String("Lundi")
.Value = DayOfWeek.Monday
End With
With item(1)
.Content = New String("Mardi")
.Value = DayOfWeek.Tuesday
End With
With item(2)
.Content = New String("Mercredi")
.Value = DayOfWeek.Wednesday
End With
With item(3)
.Content = New String("Jeudi")
.Value = DayOfWeek.Thursday
End With
With item(4)
.Content = New String("Vendredi")
.Value = DayOfWeek.Friday
End With
With item(5)
.Content = New String("Samedi")
.Value = DayOfWeek.Saturday
End With
With item(6)
.Content = New String("Dimanche")
.Value = DayOfWeek.Sunday
End With
For Each it As ComboBoxItemPlus In item
CBB_Jour.Items.Add(it)
Next
它返回以下错误:
System.ArgumentOutOfRangeException
HResult=0x80131502
Message=L'index était hors limites. Il ne doit pas être négatif et doit être inférieur à la taille de la collection.
Nom du paramètre : index
Source=mscorlib
Arborescence des appels de procédure :
à System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource)
à System.Collections.Generic.List`1.get_Item(Int32 index)
à AutoFHT.DocumentFHTEditor.FillCBB_Jour() dans C:\Users\BOUCKB\Source\Repos\AutoFHT\AutoFHT\DocumentFHTEditor.xaml.vb :ligne 35
à AutoFHT.DocumentFHTEditor.DocumentFHTEditon_Initialized(Object sender, EventArgs e) dans C:\Users\BOUCKB\Source\Repos\AutoFHT\AutoFHT\DocumentFHTEditor.xaml.vb :ligne 21
à System.Windows.FrameworkElement.RaiseInitialized(EventPrivateKey key, EventArgs e)
à System.Windows.FrameworkElement.OnInitialized(EventArgs e)
à System.Windows.FrameworkElement.TryFireInitialized()
à System.Windows.FrameworkElement.EndInit()
à MS.Internal.Xaml.Runtime.ClrObjectRuntime.InitializationGuard(XamlType xamlType, Object obj, Boolean begin)
告诉我item(0)未被实例化。
我尝试从For Each
语句中实例化它们,并且效果很好。但是,同样,我将不得不使用我不知道长度的列表来执行此操作,这就是为什么我想要这样做。
谁能告诉我为什么这行不通?
答案 0 :(得分:0)
好的,我找到了问题的根源。
For Each
语句引用实例化的对象。为了使其正常工作,我使用了经典的For
。