无法执行RoutedEventHandler

时间:2011-11-14 18:39:31

标签: vb.net silverlight routed-events

我有循环来创建一个按钮列,现在我希望将事件处理程序实现到所有按钮但是不起作用。

创建按钮列的迭代

 For e As Integer = 0 To 19
                btnFriday(e) = New Button()
                btnFriday(e).Height = 23
                btnFriday(e).Width = 150
                btnFriday(e).SetValue(Grid.ColumnProperty, 9)
                btnFriday(e).SetValue(Grid.RowProperty, e + 1)
                btnFriday(e).Click +=  New RoutedEventHandler(AddressOf btnBookSlot_Click)
                LayoutRoot.Children.Add(btnFriday(e))
    Next

我希望在单击btnFriday时执行以下事件,然后执行以下事件,该事件打开一个名为Bookslot的子窗口

Private Sub btnBookSlot_Click(sender As Object, e As RoutedEventArgs)
    Dim btn As Button = DirectCast(sender, Button)
    Dim bookSlot As New BookSlot()
    bookSlot.show()

End Sub

我收到错误,如

  

公共事件点击(发件人为对象,e为   System.Windows.RoutedEventArgs)'是一个事件,无法调用   直。使用'RaiseEvent'语句来引发事件

大多数解决方案都是使用带有Silverlight的C#构建的,它们看起来效果很好。虽然我使用VB.NET与silverlight有问题吗?

1 个答案:

答案 0 :(得分:1)

我相信你需要改变的是:

 btnFriday(e).Click +=  New RoutedEventHandler(AddressOf btnBookSlot_Click)

要:

  AddHandler btnFriday(e).Click, AddressOf btnBookSlot_Click