2010-05-26 20 views
5

Estoy trabajando en un tutorial to build a media player in Silverlight y estoy tratando de conectar un EventHandler al evento timer.Tick de un objeto DispatchTimer para que la hora del video se sincronice con un objeto Slider.¿Cuál es el equivalente VB.NET de este código C# para cablear y declarar un evento?

El código de ejemplo está en C# y no puedo imaginar la sintaxis correcta en VB.NET con RaiseEvent y/o Handles para conectar el evento. A continuación se muestra el código relevante de C#. Incluiré comentarios sobre dónde me estoy estancando.

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; 
    } 
} 

Respuesta

15

De esta manera:

AddHandler timer.Tick, AddressOf timer_Tick 

Alternativamente,

Private WithEvents timer as DispatcherTimer 


Sub timer_Tick(sender As Object, e As EventArgs) Handles timer.Tick 

End Sub 
+0

gracias por la rápida respuesta! –

Cuestiones relacionadas