Невозможно выполнить RoutedEventHandler - PullRequest
2 голосов
/ 14 ноября 2011

У меня есть цикл для создания столбца кнопки, и теперь я хочу внедрить обработчик событий во все кнопки, но он не работает.

Итерация для создания столбца кнопки

 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

Мне бы хотелось, чтобы при нажатии на 1 из 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

И я получаю ошибку, как

Public Event Click (отправитель как объект, e как System.Windows.RoutedEventArgs) 'является событием и не может быть вызвано непосредственно. Используйте оператор RaiseEvent, чтобы вызвать событие

Большинство решений были построены с использованием C # с silverlight, и, похоже, они работают отлично. Хотя у меня возникли проблемы с использованием VB.NET с silverlight Есть идеи?

1 Ответ

1 голос
/ 15 ноября 2011

Я считаю, что все, что вам нужно изменить:

...