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


GoogleTranslate.NET

Her er ett lite bibliotek for å kunne benytte Google Translate inne i alle typer .NET-prosjekter. Man sender inn en tekst, samt hvilke språk man ønsker teksten oversatt til. Google-tjenesten finner automatisk ut hvilke språk den mottate teksten er skrevet i.

Her er et skjermbilde av hvordan biblioteket kan benyttes i ditt .NET-prosjekt:
GoogleTranslate-1

download_GoogleTranslate.NET