Udostępnij za pośrednictwem


          

Tworzenie aplikacji RIA w Silverlight 5 - Integracja z systemem operacyjnym cz. 2 Udostępnij na: Facebook

Autor: Tomasz Kowalczyk

Opublikowano: 2012-09-17

Jest to kolejna część cyklu opisującego możliwości nowej wersji Silverlight, oznaczonej cyfrą 5. W poprzednim artykule zostały zaprezentowane funkcje dostępne w Silverlight 5, pomagające w integracji oprogramowania wykonanego w tej technologii z systemem operacyjnym. Poniższy artykuł stanowi kontynuację tej tematyki.

Po przeczytaniu tego artykułu będziesz:

  • wiedział, jak używać komponentu SaveFileDialog(),
  • znał możliwości aplikacji opartych o Silverlight w architekturze komputerów 64-bit,
  • wiedział, jak w Silverlight rozwiązano kwestię zarządzania energią komputera podczas odtwarzania multimediów.

Implementacja

Informacja
Wszystkie kody źródłowe projektów, utworzonych w ramach artykułów, będą dostępne na tej stronie.

Obsługa okna SaveFileDialog()

W poprzednich wersjach frameworka Silverlight, programista nie mógł wpłynąć na nazwę, pod jaką zostanie zapisany plik po wywołaniu komponentu SaveFileDialog(). Twórcy Silverlight, idąc za głosem społeczności w najnowszej odsłonie, pozwolili ustawiać to w sposób bardzo prosty.

Dołączony do artykułu projekt pokazuje, w jaki sposób należy to prawidłowo zaprogramować. Przede wszystkim zdefiniowany został komponent Button, po kliknięciu którego zostaniee uruchomiona metoda zdarzeniowa btnSaveFile_Click(). Kod tej operacji przedstawiony został poniżej:

<Grid x:Name="LayoutRoot" Background="White">
        <Button x:Name="btnSaveFile" Content="Save File Dialog" Click="btnSaveFile_Click" Margin="41,50,264,228" />
    </Grid>

Implementacja metody zdarzeniowej jest dość standardowa. Wewnątrz metody tworzony jest obiekt sfd, który reprezentuje okienko zapisu pliku. Ponadto, ustawiane są dwa atrybuty Filter, które pozwalają filtrować plik przeznaczony do zapisu, zgodnie z jego rozszerzeniem oraz DefaultFileName, gdzie należy zdefiniować domyślną nazwę dla pliku przeznaczonego do zapisu przez użytkownika:

private void btnSaveFile_Click(object sender, RoutedEventArgs e)
        {
            var sfd = new SaveFileDialog();
            sfd.Filter = "JPeg Image|*.jpg|Bitmap Image|*.bmp|Gif Image|*.gif";
            sfd.DefaultFileName = "Twoja dowolna nazwa obrazka.jpg";
            sfd.ShowDialog();
        }

Efekt uruchomienia tak przygotowanego projektu przedstawiony został na Rys. 1. Okno zapisu.

Okno zapisu

Rys. 1. Okno zapisu.

Po kliknięciu przycisku Save File Dialog uruchomione zostaje okno, pozwalające wybrać, w którym miejscu powinien zostać zapisany pobierany plik. Warto zwrócić uwagę, że wartość atrybutu DefaultFileName została wprowadzona w pole Nazwa pliku, co pozwala zapisać plik pod wcześniej zdefiniowaną nazwą. Przedstawione to zostało na Rys. 2. Zapisywanie pliku.

Zapisywanie pliku

Rys. 2. Zapisywanie pliku.

Wsparcie dla 64bit

Obsługa oprogramowania wykonanego w Silverlight 5, przez przeglądarkę Internet Explorer, w wersji 64-bit, jest kolejną nowością. O ile czytelnik dysponuje systemem Windows 7 w wersji 64-bit, na pewno ma również zainstalowaną IE w wersji 64-bit. Taka wersja znajduje się w menu programy, co zostało pokazane na Rys. 3. Wybór przeglądarki.

Wybór przeglądarki

Rys. 3. Wybór przeglądarki.

Jeśli IE zostało uruchomione w wersji 64-bit, aplikacja wykonana w Silverlight 5 zwróci się z prośbą o zainstalowanie pluginu, wiadomością podobną do tej pokazanej na Rys. 4. Potwierdzenie pobrania dodatku. Należy wybrać Install for Windows. Od tej pory aplikacje Silverlight 5 będą mogły być uruchamiane na 64-bit wersji przeglądarki internetowej.

Potwierdzenie pobrania dodatku

Rys. 4. Potwierdzenie pobrania dodatku.

Power Awarness dla multimediów

Aplikacje typu RIA (Rich Internet Application), wykonane w Silverlight, potrafią realizować bardzo rozbudowane funkcje. W większości przypadków ich możliwości nie kończą się na wyświetlaniu danych, pobieranych z bazy. Oprogramowanie wykonane w Silverlight pisane jest często pod kątem wyświetlania multimediów, dzięki współpracy z serwerem IIS i technologią Smooth – streaming, która pozwala między innymi dostosować jakość multimediów do możliwości łącza internetowego osób oglądających materiał.

Poprzez takie scenariusze wykorzystania aplikacji, twórcy Silverlight wyposażyli frameworka w parę dodatkowych możliwości, niekoniecznie dostrzegalnych na pierwszy rzut oka. Są to przede wszystkim usprawnienia, takie jak:

  • podczas oglądania materiału audio/wideo, który dostarcza aplikacja wykonana w Silverlight 5, systemowy wygaszacz ekranu nie włączy się, pomimo faktu, że oglądający nie używa aktywnie komputera. Funkcja ta doskonale sprawdzi się podczas transmisji, np. koncertów i relacji na żywo, podczas których nie przeszkodzi nagle w oglądaniu uruchamiający się wygaszacz ekranu,
  • Silverlight 5 oferuje również możliwość uśpienia komputera, w momencie gdy oglądany materiał wideo skończył się, a użytkownik odszedł od komputera, nie wyłączając go. Pozwala to zmniejszyć zużycie energii, zużywanej przez stację roboczą widza.

Dwie omówione powyżej funkcje dostępne są „z pudełka” w Silverlight 5. Ich wykorzystanie nie wymaga pisania żadnego kodu.

Podsumowanie

W tym artykule pogłębiliśmy naszą wiedzę na temat integracji aplikacji, pisanych w Silverlight 5, z systemem operacyjnym. Dowiedzieliśmy się, jak używać komponentu SaveFileDialog(). Poznaliśmy możliwości pracy w architekturze 64-bit oraz nowe funkcje, dostępne jako Power Awarness.

W kolejnym artykule, który będzie już ostatnim z tej serii poznamy parę przydatnych funkcji Framework, tj. przechwytywanie wieloklików myszką i programowanie z użyciem TPL (Task Parallel Library).