onsdag, maj 11, 2011

Full screen out of browser (OOB) i SL4

För att skapa en applikation i Silverligt 4 som kör out of browser, i full screen, finns det en del saker att tänka på. Det första man måste göra är att högerklicka på projektfilen Silverlightprojektet och välja egenskaper. På fliken för Silverlight markerar man att man vill ha stöd för out of browser.

Dialog

När den checkboxen är markerad kan man klicka på knappen för Out-of-Browser Settings.

I den dialog som dyker upp kan man ställa in vad applikationen ska heta, hur stor den ska vara när den startar, beskrivningar samt sätta ikoner. Längst ner på den dialogrutan finns det också några viktiga checkboxar. Den sista av de tre markerar man om man vill att applikationen kan köra med eleveted trust. Detta är ett krav för att senare kunna sätta applikationen i full screen mode.

oob

Om en Silverlight-applikation inte kör under elevated trust kan man fortfarande sätta den i full screen men då är det bara om det är på uppmaning av användaren, t ex genom att hon eller han klickar på en knapp. Om man försöker sätta applikationen i full screen genom kod i t ex Application_Startup kommer den kodraden att ignoreras.

Men om man kör i elevated trust kan man, genom kod när applikationen startar, direkt sätta den i full screen. Observer att anropet till att förändra propertien IsFullScreen måste ske iett anrop till Dispatcher.BeginInvoke.

Code Snippet
  1. private void Application_Startup(object sender, StartupEventArgs e)
  2. {
  3.     Deployment.Current.Dispatcher.BeginInvoke(() => SetFullScreen());
  4.     this.RootVisual = new MainPage();
  5. }
Code Snippet
  1. private void SetFullScreen()
  2. {
  3.     Application.Current.Host.Content.IsFullScreen = true;
  4. }