Kod ten jest bardziej przydatny niż się zdaje. Zwłaszcza że ciągle zapominam jak implementować pełen ekran w Silverlight. Aby nie zaglądać już nigdy więcej do swoich starych aplikacji stworzyłem ten wpis.
Implementacja pełnego ekranu w Silverlight wymaga jednej linijki kodu. Jednak liczba wyrażeń po kropce sprawia , że nie jest ona taka łatwa do zapamiętania. Moja pamięć, jak do tej pory gasła po “Host”.
application.current.host.content.isfullscreen="true
Gdy aplikacja Silverlight przechodzi w tryb ekranowy na kilka sekund można zobaczyć następujący komunikat.
W tym momencie klawisz Escape służy do wyjścia z trybu pełnoekranowego. Oczywiście dla tego samego efektu możemy ustawić właściwość “IsFullScreen” na false. Przycisk do trybu pełnoekranowego powinien też z niego wychodzić tak jest np. na YouTube. Kod implementujący takiego przycisku wygląda tak.
Application.Current.Host.Content.IsFullScreen
= !Application.Current.Host.Content.IsFullScreen;
Pobieram właściwość “IsFullScreen” i zamieniam ją na jej negacje.
Tryb pełnoekranowy w Silverlight 4 ma następujące ograniczenia.
- Aby zabezpieczyć użytkownika Silverlight w trybie pełnoekranowym nie pobiera wszystkich wciśniętych przez użytkownika klawiszy. Wyjątkami są klawisze:
- Spacja
- Strzałki
- Tabulator
- Enter
- Home
- End
- Page Up/Page Down
- Właściwość “IsFullScreen” nie może być ustawiona bezpośrednio i może być zmieniona tylko w zdarzeniach takich jak Button_Click.