【问题标题】:Unable to perform RoutedEventHandler无法执行 RoutedEventHandler
【发布时间】:2011-11-15 04:58:18
【问题描述】:

我有循环来创建一列按钮,现在我希望将事件处理程序实现到所有按钮中,但无法正常工作。

创建一列按钮的迭代

 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 的 1 时执行以下操作,该事件打开一个称为 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

我收到类似

的错误

公共事件点击(sender As Object, e As System.Windows.RoutedEventArgs)' 是一个事件,不能被调用 直接地。使用“RaiseEvent”语句引发事件

大多数解决方案都是使用带有 silverlight 的 C# 构建的,它们似乎运行良好。虽然我在使用带有 silverlight 的 VB.NET 时遇到问题有什么想法吗?

【问题讨论】:

    标签: vb.net silverlight routed-events


    【解决方案1】:

    我相信你需要改变的是:

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

    收件人:

      AddHandler btnFriday(e).Click, AddressOf btnBookSlot_Click
    

    【讨论】:

      猜你喜欢
      • 2013-06-12
      • 1970-01-01
      • 2020-11-18
      • 2017-08-06
      • 2012-08-03
      • 2020-07-10
      • 2014-06-06
      • 1970-01-01
      • 2017-08-04
      相关资源
      最近更新 更多