12-03-2014. SL: warstwy aplikacji. Wykład 4 Silverlight



Podobne dokumenty
INSTRUKCJA WebPTB 1.0

Wdrożenie modułu płatności eservice dla systemu Virtuemart 2.0.x

INTERAKTYWNA APLIKACJA MAPOWA MIASTA RYBNIKA INSTRUKCJA OBSŁUGI

Nowe funkcjonalności

Specyfikacja techniczna banerów Flash

SpedCust 5 instrukcja instalacji

ECDL Advanced Moduł AM3 Przetwarzanie tekstu Syllabus, wersja 2.0

Audyt SEO. Elementy oraz proces przygotowania audytu. strona


Ramki tekstowe w programie Scribus

Zdalne odnawianie certyfikatów do SWI

Tytuł pracy. Praca dyplomowa inżynierska. Filip Piechocki. Tytuł Imię i Nazwisko

GEO-SYSTEM Sp. z o.o. GEO-RCiWN Rejestr Cen i Wartości Nieruchomości Podręcznik dla uŝytkowników modułu wyszukiwania danych Warszawa 2007

Konfiguracja historii plików

Aktualizacja CSP do wersji v7.2. Sierpień 2014

Politechnika Warszawska Wydział Matematyki i Nauk Informacyjnych ul. Koszykowa 75, Warszawa

INFORMATOR TECHNICZNY WONDERWARE

Jak usprawnić procesy controllingowe w Firmie? Jak nadać im szerszy kontekst? Nowe zastosowania naszych rozwiązań na przykładach.

Miejski System Zarządzania - Katowicka Infrastruktura Informacji Przestrzennej

Microsoft Management Console

Praca na wielu bazach danych część 2. (Wersja 8.1)

Wykład 2 xaml, cz Czym jest xml?

Konfiguracja przeglądarek internetowych oraz Panelu Java dla klientów instutucjonalnych problemy z apletem do logowania/autoryzacji

INFORMATOR TECHNICZNY WONDERWARE. Instalacja oprogramowania Industrial Application Server 2.1

Pierwsze kroki. Krok 1. Uzupełnienie danych własnej firmy

Ćwiczenie 6.5. Otwory i śruby. Skrzynia V

Instrukcja obsługi Norton Commander (NC) wersja 4.0. Autor: mgr inż. Tomasz Staniszewski

Opis programu do wizualizacji algorytmów z zakresu arytmetyki komputerowej

Zintegrowane Systemy Zarządzania Biblioteką SOWA1 i SOWA2 SKONTRUM

System zarządzania bazą danych (SZBD) Proces przechodzenia od świata rzeczywistego do jego informacyjnej reprezentacji w komputerze nazywać będziemy

Wyższa Szkoła Zarządzania i Bankowości w Krakowie

Akademickie Centrum Informatyki PS. Wydział Informatyki PS

Strona główna góra

Strategia rozwoju kariery zawodowej - Twój scenariusz (program nagrania).

Archiwum Prac Dyplomowych

Poniżej instrukcja użytkowania platformy

FlexDMS Aktualizacja 126

Zmiany w programie C GEO v. 6.5

46 Korzystanie z wyświetlacza. System Microsoft Windows XP. System Microsoft Windows Vista

Instalacja. Zawartość. Wyszukiwarka. Instalacja Konfiguracja Uruchomienie i praca z raportem Metody wyszukiwania...

Moduł. Rama 2D suplement do wersji Konstruktora 4.6

Zainstalowana po raz pierwszy aplikacja wymaga aktualizacji bazy danych obsługiwanych sterowników.

Firma Informatyczna JazzBIT

Kancelaris - Zmiany w wersji 2.50

STRONA GŁÓWNA SPIS TREŚCI. Zarządzanie zawartością stron... 2 Tworzenie nowej strony... 4 Zakładka... 4 Prawa kolumna... 9

Opis zmian funkcjonalności platformy E-GIODO wprowadzonych w związku z wprowadzeniem możliwości wysyłania wniosków bez podpisu elektronicznego

Instrukcja obsługi. Oprogramowanie SAS 31

Metody opracowywania dokumentów wielostronicowych. Technologia Informacyjna Lekcja 28

Podstawa prawna: Ustawa z dnia 15 lutego 1992 r. o podatku dochodowym od osób prawnych (t. j. Dz. U. z 2000r. Nr 54, poz. 654 ze zm.

SZABLONY KOMUNIKATÓW SPIS TREŚCI

INFORMATOR TECHNICZNY WONDERWARE. Konfiguracja komputera klienckiego do łączenia się z serwerem IndustrialSQL

Elementy typografii. Technologia Informacyjna Lekcja 22

Bazy danych. Andrzej Łachwa, UJ, /15

Instrukcja wprowadzania ocen do systemu USOSweb

I. Zakładanie nowego konta użytkownika.

Windows Phone XML WG MICROSOFT GUI. Schemat w dokumencie. Schemat w pliku zewnętrznym. Visual Studio: Properties pliku xml-owego

860 - Pale. Moduł. Pale 860-1

INSTRUKCJA Panel administracyjny

Instrukcja obsługi platformy zakupowej e-osaa (klient podstawowy)

Instrukcja zapisu do grup

Użytkowanie elektronicznego dziennika UONET PLUS.

1. PODMIOTEM ŚWIADCZĄCYM USŁUGI DROGĄ ELEKTRONICZNĄ JEST 1) SALESBEE TECHNOLOGIES SP. Z O.O. Z SIEDZIBĄ W KRAKOWIE, UL.

Instrukcja Obsługi STRONA PODMIOTOWA BIP

Instalacja i konfiguracja automatu synchronizacji CDN OFFLINE

Formularze i ramki w HTML

Bazy danych II. Andrzej Grzybowski. Instytut Fizyki, Uniwersytet Śląski

2004 Heden Media. Wszelkie prawa zastrzeżone. Wirtualne laboratorium z napędów i sterowania pneumatycznego. Minimalne wymagania

OPIS PRZEDMIOTU ZAMÓWIENIA:

Opis obsługi systemu Ognivo2 w aplikacji Komornik SQL-VAT

Projektowanie Graficznych Interfejsów Użytkownika Robert Szmurło

Aplikacje internetowe oparte na kluczowych technologiach Java Enterprise(Servlet,JSP,JDBC, )

API transakcyjne BitMarket.pl

Technologie internetowe Internet technologies Forma studiów: Stacjonarne Poziom kwalifikacji: I stopnia. Liczba godzin/tydzień: 2W, 2L

Pracownia internetowa w każdej szkole. Opiekun pracowni internetowej SBS 2003 PING

Spis treści. Rozdział 1 ewyniki. mmedica - INSTR UKC JA UŻYTKO W NIKA

System Informatyczny CELAB. Przygotowanie programu do pracy - Ewidencja Czasu Pracy

2.1 Format czasu. 2.2 Sposób liczenia czasu pracy

Dziedziczenie : Dziedziczenie to nic innego jak definiowanie nowych klas w oparciu o już istniejące.

Poznaj potencjał ArchiCAD-a! Twój przewodnik po programie ArchiCAD!

e-dziekanat Instrukcja użytkownika dydaktyk

PERSON Kraków

Jak spersonalizować wygląd bloga?

Przekształcenie danych przestrzennych w interaktywne mapy dostępne na stronach www (WARSZTATY, poziom podstawowy)

Rozliczenia z NFZ. Ogólne założenia. Spis treści

WordPad. Czyli mój pierwszy edytor tekstu

Przewodnik AirPrint. Ten dokument obowiązuje dla modeli atramentowych. Wersja A POL

Rachunek_UCP. C e l. Zarejestrowanie rachunku do umowy cywilnoprawnej w systemie SAP. Wymagania wstępne

emszmal 3: Eksport wyciągów do Subiekt (Su\Re\Ra) nexo (plugin dostępny wraz z dodatkiem Biznes)

Opisy. Ikona: Polecenie: STCFG Menu: Stal Konfiguracja

Niniejszy dokument obejmuje: 1. Szablon Umowy zintegrowanej o rachunek ilokata, 2. Szablon Umowy zintegrowanej o rachunek ilokata oraz o rachunek

Logowanie do mobilnego systemu CUI i autoryzacja kodami SMS

dbsamples.udl lub przygotowany wcześniej plik dla Excela) i OK,

POLITYKA PRYWATNOŚCI SKLEPU INTERNETOWEGO

UWAGA! PRZECZYTAJ NAJPIERW:

1. Korzyści z zakupu nowej wersji Poprawiono Zmiany w słowniku Stawki VAT Zmiana stawki VAT w kartotece Towary...

Obsługa pakietu biurowego OFFICE

INTENSE BUSINESS INTELLIGENCE PLATFORM

Type ETO2 Controller for ice and snow melting

Polityka prywatności strony internetowej wcrims.pl

Transkrypt:

Kwalifikacje kadry dydaktycznej kluczem do rozwoju Uczelni PROJEKT WSPÓŁFINANSOWANY ZE ŚRODKÓW UNII EUROPEJSKIEJ I EUROPEJSKIEGO FUNDUSZU SPOŁECZNEGO Uniwersytet Kazimierza Wielkiego w Bydgoszczy Wydział Matematyki, Fizyki i Techniki specjalność: Sieci i systemy rozproszone Technologie mobilne i rozproszone na platformie.net Wykład 4 Silverlight SL: warstwy aplikacji interfejs użytkownika - GUI opis w XAML narzędzia: Visual Studio Expresion Blend Logika aplikacji kod (C# lub VB) Dane aplikacji (opcja) pliki xml lokalna relacyjna BD (SQL Server Compact Edition) 3 1

Interfejs użytkownika XAML preferowany do tworzenia interfejsów Silverlight, opis w plikach *.xaml MainPage.xml W tagach-słowa kluczowe oznaczające: klasy, obiekty, właściwości, zdarzenia, kompilator XAML-a: tłumaczy do CLR (Common Language Runtime). 4 Zawartość MainPage.xaml Główny element pliku MainPage.xaml jest klasa UserControl (kontener główny) umożliwia tworzenie kontrolek użytkownika, po niej dziedziczą kontrolki użytkownika, budowa aplikacji Silverlight jest zawsze tworzeniem nowej kontrolki a kolejny plik.xaml zawiera znacznik UserControl wewnątrz UserControl maksymalnie JEDEN element tzw. kontener kontener służy do pozycjonowania elementów GUI. 5 UserControl na PC przestrzenie nazw <UserControl x:class="lab6_sl_xaml.mainpage" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:ignorable="d" d:designheight="300" d:designwidth="400"> <Grid x:name="layoutroot" Background="White"> </Grid> </UserControl> tzw. kontener 6 2

Specyfika na WP7 App.xaml.cs: RootFrame = new PhoneApplicationFrame(); RootFrame- kontener główny (top-level) obiekt klasy PhoneApplicationFrame; zawiera: kontrolkę MainPage oraz elementy systemowe system trayi application bar będzie MainPage.xaml.cs: class MainPage: PhoneApplicationPage MainPage zajmuje całą przestrzeń contententdla frame obiekt klasy PhoneApplicationPage zawiera tytuł, ewentualnie własny application bar 7 Zakres odpowiedzialności PhoneApplicationFrame przechowuje właściwości np. orientacja ekranu, tu generowane są PhoneApplicationPages tu zarezerwowane miejsce na: SystemTrayoraz Application Bar tu obsługa połączeń przychodzących, sms ów itp. 8 Zakres odpowiedzialności Phone Application Page zajmuje pozostałą część ApplicationFrame tu miejsce na GUI (aplikację użytkownika) może posiadać własny ApplicationBar 9 3

Designer WP7: PhoneApplicationPage <phone:phoneapplicationpage x:class="lab6_wwp7.mainpage" namespace jak na PC xmlns:phone="clr-namespace:microsoft.phone.controls;assembly=microsoft.phone" xmlns:shell="clr-namespace:microsoft.phone.shell;assembly=microsoft.phone" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:ignorable="d" d:designwidth="480" d:designheight="768" <Grid x:name="layoutroot" Background="Transparent"> </Grid> </phone:phoneapplicationpage> 10 Obszar roboczy DesignWidth, DesignHeight na PC określają szerokość i wysokość kontrolki (rozmiar pisanej aplikacji), brak wartości: aplikacja będzie zajmowała całą dostępną powierzchnię w przeglądarce będzie się dostosowywała do wielkości przeglądarki. Na WP7 bez możliwości zmiany d:designheight="768" d:designwidth="480 " Heightmoże być "800" -bez linii statusu (lub false ) shell:systemtray.isvisible="true" 11 GUI: najczęściej używane elementy Kontenery do rozmieszczenie elementów Canvas(płótno) - niewidoczny pozycjonowanie absolutne (dokładna pozycja sytuowanego obiektu) StackPanel(stos), Grid(siatka) - niewidoczny pozycjonowanie relatywne Elementy graficzne Rectangle, Elipse, Image, Border,... Kontrolki (interakcja, I/O) Button, CheckBox, TextBox,... 12 4

Pozycjonowanie elementów GUI Podejście WindowsForm: Drag and Dropz Toolbox-a, położenie elementów bezwzględne zaleta (wada?): GUI zawsze takie samo a na ekranie o innej rozdzielczości? Podejście typu Java: tzw. manageryukładów, pozwalają na grupowanie elementów pionowo, poziomo, w układach tabelarycznych itp. 13 WPF => Silverlight Praktycznie brak pozycjonowania absolutnego Pozycjonowanie za pomocą kontenerów struktura kontenerów: zapisywana składnią xml zgodna z ideą dokumentu xml, czyli: kontener główny (rodzic tylko jeden) kontenery wewnętrzne (dzieci dowolna liczba) dzieci mogą mieć dzieci! 14 Pozycjonowanie Projekt wyglądu okna układ kontenerów rozmieszczenie elementów w kontenerach Pozycję elementu określają: zależność rodzic-dziecko (element pozycjonowany musi być wewnątrz kontenera), właściwości kontenera np. Orientationdla StackPanel, HorizontalContentAlignment dla Label atrybuty dołączone do elementu pozycjonowanego (np. Canvas.Left). 15 5

Kontener Grid Grid: tabelaryczny układ widoku do utworzenia podstawowej struktury okna, każdy element umieszczany względem wiersza i kolumny, automatycznie skaluje wiersze/kolumny umożliwia budowę skalowalnych layoutów. Jak użyć umieścić znacznik <Grid> </Grid>, zdefiniować wiersze oraz kolumny (<Grid.RowDefinitions>, <Grid.ColumnDefinitions>) zdefiniować ich wysokości oraz szerokości 16 Użycie wiersza i kolumny Rozmiar wiersz: Height kolumna: Width Rozmiar można definiować używając: jednostek logicznych (wartości liczbowych), sposób zalecany opcji auto (automatycznie dopasowanie do zawartości) symbolu * * pozwala na zajęcie całej wolnej przestrzeni, jeżeli kilka kolumn bądź wierszy korzysta z gwiazdki -przestrzeń rozdzielona proporcjonalnie Po zdefiniowaniu wierszy i kolumn dla każdego elementu w gridzie przypisać numer wiersza /kolumny (od 0!) Grid.Row = 0 17 Grid przykład 1 <Grid> <Grid.RowDefinitions> <RowDefinition Height="Auto" /> <RowDefinition Height="Auto" /> </Grid.RowDefinitions> <Ellipse Width="100" Height="100" Fill="Blue" Grid.Row="0"/> <Rectangle Width="100" Height="100" Fill="Red" Grid.Row="0" /> </Grid> kwadrat jest gdzie koło? dlaczego wiersze różnej wysokości? 18 6

Grid przykład 2 <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="*" /> <ColumnDefinition Width="*" /> </Grid.ColumnDefinitions> <Grid.RowDefinitions> <RowDefinition Height="Auto" /> <RowDefinition Height="Auto" /> </Grid.RowDefinitions> <Ellipse Width="100" Height="100" Fill="Blue" Grid.Row="0" Grid.Column="1"/> <Rectangle Width="100" Height="100" Fill="Red" Grid.Row="1" /> </Grid> 19 Procentowe określanie rozmiaru Wielkość wyrażona procentowo określa, ile procent dostępnego dla elementu graficznego miejsca może on zabrać 100% symbolizuje gwiazdka *, np. kolumna zajmuje całe dostępne jej miejsce: <ColumnDefinition Width= * /> kolumna zajmie 80% wolnego miejsca: <ColumnDefinition Width= 0.8* /> 20 Grid przykład 3 <Grid> <Grid.RowDefinitions> <RowDefinition Height="auto" /> <RowDefinition Height="0.5*" /> <RowDefinition Height="0.5*" /> </Grid.RowDefinitions> <Ellipse Width="100" Height="100" Fill="Blue" Grid.Row="1" /> <Rectangle Width="100" Height="100" Fill="Red" Grid.Row="0"/> </Grid> 21 7

StackPanel Panel stosu (najprostszy z kontenerów) elementy we wnętrzu rozmieszczane wzdłuż orientacji orientacja pionowa: od góry do dołu, domyślna orientacja pozioma: od lewej do prawej Orientation="Horizontal" Panele stosu można zagnieżdżać panele nad-i podrzędne mogą mieć różne orientacje! 22 StackPanel- 1 (Vertical-domyślnie) Height= Auto (rozmiar fontu <StackPanel > <Button Content="button1" Margin="5" FontSize="20" /> <Button Content="button2" Margin="5" /> <Button Content="button3" Margin="5" /> <Button Content="button4" Margin="5" Height="50" /> </StackPanel> 23 StackPanel- 2 (Horizontal) 24 8

StackPanel- 3 (zagnieżdżenie) 25 Canvas Panel płótno podobny, jak Windows Forms pozycjonowania relatywne względem krawędzi górnej: Canvas.Top względem krawędzi lewej: Canvas.Left jako panel główny pozycjonowanie absolutne Można zagnieżdżać Stosować raczej w sytuacji braku potrzeby skalowania 26 Canvas 60 od krawędzi górnej początek zagnieżdżenia Canvaszagnieżdżony 60 od krawędzi górnej 27 9

Przykład - zagnieżdżenie 28 Zagnieżdżenie 29 Rozmiar i kolejność Ustawienie rozmiaru panelu Width, Height liczba Auto (do rozmiaru zawartości, np. tekst, inne) Marginesy odsunięcie panelu zagnieżdżonego Zależnie od rodzaju panelu różnice. Kolejność wyświetlania elementów zależna od kolejności ich definiowania 30 10

Kolejność elipsa przykryta kwadratem <Ellipse Width="100" Height="100" Fill="Blue" Grid.Row="0"/> <Rectangle Width="100" Height="100" Fill="Red" Grid.Row="0" /> kwadrat przykryty elipsą <Rectangle Width="100" Height="100" Fill="Red" Grid.Row="0" /> <Ellipse Width="100" Height="100" Fill="Blue" Grid.Row="0"/> 31 Wyrównywanie Wyrównywanie zawartości paneli (pozycjonowanie względem układu) : HorizontalAlignment, VerticalAlignment pozycjonuje kontrolkę w poziomie/pionie HorizontalContentAlignment, VerticalContentAlignment pozycjonuje zawartość (np. tekst) w poziomie/pionie Wymienione właściwości współpracują z Margin oraz Padding mogą przyjmować wartości: Left- wyrównanie do lewej Right - wyrównanie do prawej Center - wycentrowanie Stretch - rozciągnięcie/dopasowanie 32 Specyfika WP7 33 11

Specyfika WP7 Element główny Silverlight: UserControl WP7: phone:phoneapplicationpage element PhoneApplicationPage z przestrzeni phone Rozmiar (automat) raczej stały: 480 x 800 (bez paska statusu) lub z miejscem na status (bateria, poziom sygnału, itp.) wtedy też stały: 480 x 768 shell:systemtray.isvisible="true" 34 Specyfika paneli Grid, StackPanel, Canvas bez istotnych różnic Orientacja PhoneApplicationPage atrybut obsługa zmiany orientacji (automat!) Orientation="Portrait" lub Orientation="Landscape" SupportedOrientations= "PortraitOrLandscape" 35 Obszary specjalne System tray(status bar) http://www.microsoft.com/windowsphone/enus/howto/wp7/basics/what-do-the-icons-on-myphone-mean.aspx 36 12

Obszary specjalne Application Bar max. 4 przyciski z ikonami (ApplicationBarIconButton) i dodatkowo wysuwane menu aplikacji (ApplicationBarMenuItem) w domyślnym szablonie strony zakomentowany fragment kodu 37 13