Я работаю над учебным руководством для создания медиаплеера в Silverlight и пытаюсь обеспечить электричеством EventHandler
к timer.Tick
событие a DispatchTimer
возразите так, чтобы время видео синхронизировалось с a Slider
объект.
Пример кода находится в C#, и я не могу ни за что в жизни выяснить правильный синтаксис в VB.NET с RaiseEvent
и/или Handles
обеспечить электричеством событие. Ниже соответствующий код C#. Я буду включать комментарии, где я застреваю.
private DispatchTimer timer;
public Page()
{
//...
timer = new DispatchTimer();
timer.Interval = TimeSpan.FromMilliseconds(50);
timer.Tick += new EventHandler(timer_Tick); // <== I get stuck here b/c
// I can't do "timer.Tick += ..." in VB.NET
}
void timer_Tick(object sender, EventArgs e)
{
if (VideoElement.NaturalDuration.TimeSpan.TotalSeconds > 0)
{
sliderScrubber.Value = VideoElement.Position.TotalSeconds /
VideoElement.NaturalDuration.TimeSpan.TotalSeconds;
}
}
Примерно так:
AddHandler timer.Tick, AddressOf timer_Tick
В качестве альтернативы,
Private WithEvents timer as DispatcherTimer
Sub timer_Tick(sender As Object, e As EventArgs) Handles timer.Tick
End Sub