Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
UserControls的WPF数组_Wpf_Vb.net_Arrays_Wpf Controls - Fatal编程技术网

UserControls的WPF数组

UserControls的WPF数组,wpf,vb.net,arrays,wpf-controls,Wpf,Vb.net,Arrays,Wpf Controls,我正在做一个项目,大约有30个控件需要在运行时调用和更新。我将控件命名为day0-day35(这是一个日历)。基本上,在运行时,我需要调用每个控件的setDate函数来显示日期。当我运行它时,数组只有null/empty 这就是我试图在代码隐藏中使用的数组。控件名为day0-day35 Private dateArr() As ucMonthDay = {day0, day1, day2, day3, day4, day5, _ day6, d

我正在做一个项目,大约有30个控件需要在运行时调用和更新。我将控件命名为day0-day35(这是一个日历)。基本上,在运行时,我需要调用每个控件的setDate函数来显示日期。当我运行它时,数组只有null/empty

这就是我试图在代码隐藏中使用的数组。控件名为day0-day35

Private dateArr() As ucMonthDay = {day0, day1, day2, day3, day4, day5, _
                          day6, day7, day8, day9, _
                          day10, day11, day12, day13, day14, day15, day16, day17, day18, day19, _
                          day20, day21, day22, day23, day24, day25, day26, day27, day28, day29, _
                                  day30, day31, day32, day33, day34}
然后,我希望能够循环此数组,并在每个控件上设置日期:

    Dim counter As Integer = 0
    While (counter < 35)
        dateArr(counter).setDate(firstDay)
        firstDay.AddDays(1)
        counter += 1
    End While
Dim计数器为整数=0
而(计数器<35)
dateArr(计数器).设置日期(第一天)
第一天。添加天数(1)
计数器+=1
结束时
当调用它时,我得到一个空指针异常。我不明白为什么控件不在数组中

谢谢你的帮助


Kevin

您应该先创建对象

在查看了一段时间后,如果我在userControl loaded事件中设置了dateArr,它就会工作。我仍然不确定为什么不能在声明中设置值,但这会起作用。希望这对将来的人有所帮助。控件在哪里初始化?day0在Xaml中是一个x:Name,还是在某处用“new”显式声明和初始化它?是的,它是一个x:Name。它是在XAML代码中创建的。初始化由WPF完成(它没有任何自定义初始化)。确定。然后,您只需要确保在对ucMonthDay执行任何操作之前调用InitializeComponent(),因为其中的所有对象都是在InitializeComponent()期间初始化的。