Sigurd Snørteland



Host Silverlight i WPF app

Muligheten til å kjøre Silverlight-applikasjoner på utsiden av nettleseren var en av de store nyhetene i Silverlight 3, og dette er en av funksjonene jeg ønsker i mitt viu² media center prosjekt. Det viser seg midlertidig at viu²-prosjektet ikke kan benytte denne funksjonen, fordi min løsning er avhengig av å hoste en html-frame over silverlight app’en for å vise YouTube-videoer. For å benytte html-frames på toppen av silverlight må man sette følgende parameter i silverlight objekt-taggen i html-siden: <param name=”Windowless” value=”True” />

Når man benytter silverlight ‘out of browser’ kan man ikke benytte denne teknikken og jeg har derfor laget en WPF applikasjon for å  ”hoste” silverlight løsningen. Kort fortalt innebærer dette en minimalistisk WPF app med en tilpasset toolbar og en webbrowser-kontroll. Under OnLoad defineres url’en til silverlight applikasjonen som skal vises i webbrowser-kontrollen.

viu2 - img4

Det som kan være interessant å gå nærmere inn på er hvordan man kan definere sin egen toolbar, i stede for vanlig windows toolbar, ved å blant annet definere windowstyle lik ’None’. Når man samtidig skal host en webbrowser-kontroll og la applikasjonen være mulig å resize, får man problemer med at webbrowser-kontrollen blir usynlig.  For å løse dette må man definere enkelte DDL-importer samt definere enkelt parametre i OnLoad-metoden. Sjekk skjermbildene nedenfor for detaljer eller last ned kildekoden i zip-filen nedenfor.

XAML-filen:
SilverlightDesktop-1

CodeBehind-filen:
SilverlightDesktop-2

download_SilverlightDesktop

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: