Dieser Artikel schließt diese Lücke.
Am unteren Ende dieses Artikels findet Ihr eine Beispielanwendung, die die Technik demonstriert. Die Anwendung spielt ein Storyboard ab, sobald die Anwendung im Browserfenster sichtbar wird. Wer neugierig ist, scrollt diese Seite einfach runter und sobald die Beispielanwendung sichtbar wird, startet das Storyboard. (Das Storyboard bewegt einen Balken von links nach rechts und wechselt die Hintergrundfarbe von Dunkelgrau zu Grün. Es läuft nur einmal.) Nachfolgend findet Ihr zunächst den Quellcode.
Partial Public Class MainPage
Inherits UserControl
Public Sub New()
InitializeComponent()
AddHandler CompositionTarget.Rendering, AddressOf DoSomething
End Sub
Private Sub DoSomething(ByVal sender As Object, ByVal e As EventArgs)
sbTest.Begin()
RemoveHandler CompositionTarget.Rendering, AddressOf DoSomething
End Sub
End Class
Und so funktioniert das Ganze. Im Ereignisbehandler des Konstruktors der Anwendung wird dem CompositionTarget.Rendering() Ereignis ein Delegat hinzugefügt. Dieser Delegat zeigt auf die Methode DoSomething(). Die Methode DoSomething() startet das Storyboard und entfernt dann den Delegaten.
Und warum funktioniert das Ganze? Ganz einfach: Das Ereignis "Rendering()" der Klasse CompositionTarget feuert nur dann, wenn das Silverliight-PlugIn im Browserfenster mindestens teilsweise sichtbar ist.
Diese Technik kann natürlich auch für anderes benutzt werden. Es kann beispielsweise ein Video abgespielt werden oder Inhalt dynamisch nachgeladen werden, sobald die Anwendung sichtbar wird.
Keine Kommentare:
Kommentar veröffentlichen