Windows Presentation Foundation - perusteet

Slides:



Advertisements
Samankaltaiset esitykset
Kuvantamisen työnkulku IHE RIS näkökulmasta
Advertisements

Luku 6 – Käyttöliittymäsuunnittelu tarkemmin
Tietokoneen käyttöjärjestelmä
SkyDrive ja Office Web Apps –sovellusten käyttäminen
KyläNetti - sivun tekeminen • KyläNetti-sivustoon on luotu valmiiksi esimerkinomainen sivurakenne, jota voi vapaasti muokata • Kaikki sivut eivät ole näkyvissä.
Vippet Booking - majoitusvarausjärjestelmä
Wikispace jatkokurssi Jarmo Heikkinen Karoliina Kemppainen Satu Kylmänen.
Ohjelmistokehittäminen. Luku 4 – Windows-sovellusten käyttöliittymät.
Active directory.
WPF ja Windows Forms - yhteiskäyttö Niko Suni Konsultti – sovelluskehitys ja integrointi Itagent (fi)
JavaScript oliot © Reiska, DOM Oliot  JavaScript sisältää paljon valmiita DOM olioita, on sisältänyt jo DOM level 0 (ns. Legacy DOM) alkaen  WWW-ympäristössä.
IBM WebSphere Application Server Mediatekniikan Seminaari Mikko Matilainen.
VBA –ohjelmoinnin perusteet
1 Java-kieleen pohjautuvien ohjelmien käyttökohteita Ohjelmat Appletit JavaBeans JavaScript Java Server Pages (JSP) Java Servletit J2ME, mobiililaitteet.
HTML-kielen perusteet Osa 1 Vilho Kemppainen
Luku 5 – Tietojen hakeminen sovelluksiin
Työpaja Maanantaiaamuna kotona  Lukujärjestyksen tarkistus  Missä opiskelen?  Mitä opiskelen?  Mitä materiaalia tarvitsen?  Kun valitsen.
vuorovaikutteiset www-sivut 1.Asiakas-palvelinmalli kuvana Request Response request.asp response.asp.
Julkaisukielet ja - tekniikat tMyn1 Julkaisukielet ja -tekniikat •Verkko-ohjelmointi voidaan jakaa kahteen osaan: asiakaspuolen ja palvelinpuolen ohjelmointiin.
Web Services ©Reino Aarinen, Miksi?  Web Services tekniikalla voi muuttaa valmiit sovellukset Web sovelluksiksi.  Sovellus voi julkaista toiminnon.
ASP.NET 3.5 – Uudet ominaisuudet Jani Järvinen, C# MVP Technical Manager, Software Dev. Moonsoft Oy.
Power Point – esitysgrafiikkaohjelma lyhyesti
Silverlight 2 Jukka Wallasvaara Microsoft.
Graafinen käyttöliittymä, osa 2
Visual Studio 2008 ja sovellusten elinkaaren hallinta Matti Antila Jukka Wallasvaara Iikka Paavolainen Microsoft Oy.
Antti-Jussi Lakanen Nuorten peliohjelmointi 2009 / Jyväskylän yliopisto.
Tekstiasiakirjan kirjoittaminen
Tekstin muotoilu Wordilla:
Ohjelman jakaminen useampaan tiedostoon Olio-ohjelmointi (C++) KYAMK, Jarkko Ansamäki 2001.
S HARE P OINT - SERVERIN ASENNUS Ilmo Euro, Sebastian Dideriksen, Ari Laamanen ja Jonne Järvinen
Windows Presentation Foundation UxE:n näkökulmasta
Ketterä kehitys käytännössä – TFS & Meteor
Mikko Huilaja, Ohjelmistoarkkitehti EPiServer 7 ja MVC ”EPiServer tarjoaa kehittäjälle kaksi vaihtoehtoa sivupohjien rakentamisessa – valitse.
Mikkeliläinen – sähköisen asioinnin tulevaisuus Mikkelissä Kalle Launiala, ProtonIT Oy
A Linux -järjestelmät WINE-API SEKÄ VIRTUALISOINTIOHJELMISTOT
2. Vuokaaviot.
XML -kielen perusteet SIMO Seminaari Antti Mäkinen.
Mikä ihmeen Office 365? Office 365
Visual Basic -ohjelmointi
Esteettömyys www-sivuilla Eija Mykkänen Mediatekniikan seminaari
(mukaellen Haikala & Mikkonen 2011, 29)
Web 2.0 tiivistetysti 1. Ohjelmistoalusta on Web. Webtop korvaa Desktopin. Keskeistä yhteisöllisyys ja ”Software as a Service”. 2. Kollektiivisen älyn.
Kuinka tehdä blogi o365:ssä
RSS, Rich Site Summary © Reino Aarinen, RSS RSS (Rich Site Summary, joskus Really Simple Syndication) on menetelmä, joka käyttää XML merkkausta.
Työasemasovelluksen käyttöliittymä sovelluksien käyttöliittymät voidaan jakaa kahteen pääluokkaan: –kohde-toiminto -pohjaisiin (object-action) käyttöliittymiin.
Lomakkeet © Reiska, Lomakkeet Varsinkin Web-sovelluksia ajetaan täyttämällä sivulla lomake ja lähettämällä tiedot palvelimella olevan Web-sovelluksen.
WMware, Wine, Win4Lin & Bochs Voiko windows-ohjelmia käyttää Linuxissa ?
Tutkimusdatan varastointityyppejä Joka portaalla tulee lisää ominaisuuksia. Alemmilla portailla mainitut asiat sisältyvät ylempiin. Datasetti kuvaillaan.
Heuristinen arviointi Käyttöliittymäseminaari Jere Salonen.
– Ohjelmistojen mallintaminen, mallintaminen ja UML.
PlugIT-ydinrajapinnoista Marko Sormunen PlugIT-projekti, HIS-yksikkö Kuopion tietotekniikkakeskus Kuopion yliopisto
Jouni Juntunen Oulun seudun ammattikorkeakoulu Liiketalouden yksikkö
MultiMaker 7.0 Workshop Ohjelma, jossa voidaan luoda näyttäviä multimediasisältöjä. Yhtä sisältökoko-naisuutta kutsutaan esitykseksi. Ohjelmointitaitoja.
Kaksi- ja kolmitasoiset sovellukset Two and Three Tier Systems.
Metatieto ja HTML-dokumentit Markus Virkkala Esa Kaihlanen TJTD63 - Semanttinen Web - 4/2002.
XML Schema Teppo Räisänen Liiketalouden yksikkö.
Merkistöstandardeista
Graafinen käyttöliittymä, osa 1
Ydinpalveluiden (käyttäjä, käyttöoikeus, potilas).NET-palvelutoteutus: CoreServiceDemo PlugIT-loppuseminaari Koulutustyöpaja 1: Avoimet ohjelmistorajapinnat.
PHP ja MySQL PHP: Hypertext Preprosessor. PHP, johdanto Komentosarjakieli, joka on suunniteltu dynaamisen sisällön tuottamiseen verkossa PHP on sekä kieli,
Silverlight Expression Blend 3 työkaluna. Mikäs on Silverlight? (1/2) Pääasiassa teknologia webbiin –Internet Explorer –Mozilla –Opera –Safari.
D OMAINHALLINTATYÖKALUN TOTEUTUS JQUERY JAVASCRIPT - KIRJASTOLLA Insinöörityö Irko Palenius 2009.
CT30A LÄHIVERKOT - ERIKOISTYÖKURSSI Samba Linux-työ Ville Mälkiä
.NET ohjelmointi C#-kielellä RäsSe, lokakuu 2004.
Päivityspaketit. WINDOWS Versiot XP, 7, 8 ja 10 Windows XP Julkaistu , tuki lopetettu > elinkaari 12,5 vuotta Kolme päivityspakettia.
Harjoitustyö kurssille Mobile Application Development
WWW-Sisällönhallintaohjelmat
Presentation subheading
JavaScriptin perusteet
Lue siitä lisää Microsoft SharePoint-uutiset
Esityksen transkriptio:

Windows Presentation Foundation - perusteet Jari Kallonen Sovellusasiantuntija Tieturi Oy

Sisältö Windows Presentation Foundation WPF kontrollit Tiedon sidonta Tapahtumakäsittely Layout - paneelit Dokumenttikontrollit Tiedon sidonta Tyylit ja resurssit Navigointisovellukset

Windows Presentation Foundation (WPF) Tulee osana Microsoft .NET Framework 3.0. WPF oliomalli on samankaltainen mutta ei samanlainen kuin Windows Forms. Uusi käyttöliittymätekniikka Ei syrjäytä Windows Forms sovelluksia Kehitys kuitenkin painottuu WPF suuntaan WPF:a voidaan käyttää Microsoft Windows XP, Windows Vista, sekä Microsoft Windows Server 2003 ja 2008 kanssa. .NET Framework 3.0 on automaattisesti mukana Vista ja Windows Server 2008 versioissa. XP ja Windows Server 2003 erillisenä asennuksena.

Windows Presentation Foundation (WPF) .NET Arkkitehtuuri Windows Presentation Foundation (WPF) Miksi? Entinen Win32-pohjainen käyttöliittymäalusta ”vanhahko”, Windows Forms perustuu siihen Rauta kehittynyt (näytönohjaimet) Resoluutioriippumattomuus Käyttöliittymän kuvaus riippumaton sen toiminnoista eriytys kuten ASP.NET Web Forms mallissa Käyttöliittymä XAML –kielellä Käyttöliittymän logiikka ohjelmointikielellä (C#, VB.NET jne.) Copyright © Tieturi Oy

WPF Visio Työvälineet ja API Yhtenäinen tapa käsitellä käyttöliittymiä, dokumentteja ja medioita Työvälineet ja API Vektoripohjainen grafiikkamoottori Käyttää hyväkseen tämän päivän näytönohjaimia Käyttöliittymä ja sen logiikka erotettu toisistaan Käyttöliittymäsuunnittelijat ja kehittäjät mukana kehitystyössä Yksinkertainen sovellusten jako Ylläpitäjät voivat jakaa ja hallita sovelluksia turvallisesti

XAML vs. .NET koodi <Button Name="myButton" FontSize="24" FontFamily="Candara" Foreground="DarkRed"> _Click me! </Button> Button myButton = new Button(); myButton.FontSize = 24; myButton.FontFamily = new FontFamily("Candara"); myButton.Foreground = Brushes.DarkRed; myButton.Content = "_Click me!";

WPF kontrollit Kuten Windows Forms, WPF sisältää useita valmiita kontrolleja. Tuttuja kontrolleja (Button, TextBox, Label), sekä joukon uusia (Expander,FlowDocumentReader, Canvas). WPF kontrollit eivät ole Windows Forms kontrolleja, joskin ne sisältävät samoja ominaisuuksia. WPF kontrollit löytyy System.Windows.Controls nimiavaruudesta.

WPF kontrollit <Button Name="btnValinnat" Height="100" Width = "300"> <StackPanel> <Label Name="lblValinnat" Foreground = "DarkGreen“ Content = "Valinnat"/> <StackPanel Orientation = "Horizontal"> <Expander Name="expanderVari" Header = "Väri"> <!-- valinnat tähän... --> </Expander> <Expander Name="expanderLeveys" Header = "Leveys"> <Expander Name="expanderKorkeus" Header = "Korkeus"> </StackPanel> </Button>

WPF kontrollit Oheisen kontrollin tekeminen Windows Formsilla: Oman custom kontrollin periyttäminen Button kontrollista. Manuaalisesti käsiteltävä sisäisten kontrollien päivitys. Ylikirjoittaa tarvittavat event handlerit jne. WPF kontrolliin määritelty XAML –attribuutti ”Name” mahdollistaa käytön koodipuolelta. lblValinnat.FontSize = 30;

Tapahtumakäsittely Tunneling Bubbling Direct Previews Main event E.g. MouseEnter Bubble/Tunnel <Window> <Grid> <StackPanel> <TextBlock> PreviewMouseDown MouseDown <Window> <Grid> <StackPanel> <TextBlock> <Window> <Grid> <StackPanel> <TextBlock>

Layout - paneelit WPF Panel Tarkoitus Canvas “Perinteinen” tapa sijoittaa kontrolleja ilman layout-manageria. Kontrollit sijoittuvat absoluuttisiin paikkoihin lomakkeella. DockPanel Lukitsee kontrollit haluttuun paikkaan paneelia (ylös, alas, vasemmalle, oikealle). Grid Talukkotyyppinen paneeli, missä on rivejä ja sarakkeita. StackPanel Vaaka-tai pystysuora asettelu kontrolleille. WrapPanel Järjestää kontrollit paneelin koon mukaisesti yhdelle tai useammalle riville.

Layout - paneelit Grid StackPanel WrapPanel DockPanel Canvas

Demo – WPF kontrollit

Dokumenttikontrollit Perinteisten tekstikenttien, labeleiden jne. lisäksi WPF sisältää useita kontrolleja, joilla voidaan dynaamisesti esittää ja muokata tekstiä ja muuta sisältöä. Flowdocument esittää tekstiä ja muuta sisältöä optimoiden sitä näytettävän alueen mukaan. Tuki ClearType / OpenType fonteille. Mahdollista lisätä dokumenttiin esimerkiksi annotaatioita (a.k.a., sticky notes).

Dokumenttikontrollit <FlowDocumentReader> <FlowDocument> <Paragraph FontSize = "30" FontWeight = "Bold" TextAlignment="Center">Dokumentin esitys</Paragraph> <Paragraph FontSize = "20" FontWeight = "Bold" TextAlignment="Left"> Perinteisten tekstikenttien ja labeleiden lisäksi WPF sisältää useita kontrolleja, joilla voidaan dynaamisesti esittää ja muokata tekstiä. </Paragraph> <Paragraph> Flowdocument esittää tekstiä ja muuta sisältöä optimoiden sitä näytettävän alueen mukaan. Tuki ClearType / OpenType fonteille. Mahdollista lisätä esimerkiksi annotaatioita (a.k.a., sticky notes) </FlowDocument> </FlowDocumentReader>

Demo – Dokumenttikontrollit

Tiedon sidonta Kontrolli voidaan sitoa CLR olioon tai XML:n Kohde Lähde Dependency Object Object Dependency Property Property TwoWay OneWay OneTime <StackPanel> <Label>Select A Customer</Label> <ListBox Name="myListBox" Background="HoneyDew" ItemsSource= "{Binding {StaticResource mySource}}" </ListBox> </StackPanel> Kontrolli voidaan sitoa CLR olioon tai XML:n Omat oliot, ADO.NET oliot, Web Serviceen jne. Aina valinnaista, sama toiminnallisuus saadaan ohjelmallisesti. XAML tekee tiedon sidonnan helpoksi Mukana aina lähde ja kohde lähteestä kohteeseen kumpaankin suuntaan yhden kerran lähteestä kohteeseen 18

Tiedon sidonta <StackPanel> <!-- The scrollbar's value is the source of this data bind --> <ScrollBar Orientation="Horizontal" Height="30" Width = "100" Name="mySB" Maximum = "100" LargeChange="1" SmallChange="1"/> <!-- The label's content value is the target of the data bind --> <Label Height="30" Width = "100" Content = "{Binding ElementName=mySB, Path=Value}"/> </StackPanel>

Tiedon sidonta - DataContext DataContext määrittelee tietolähteen lapsielementeille. Vähentää toistettavaa koodia. <!-- The panel is setting the data context to the scrollbar object --> <StackPanel DataContext = "{Binding ElementName=mySB}"> <ScrollBar Orientation="Horizontal" Height="30" Width = "100" Name="mySB" Maximum = "100" LargeChange="1" SmallChange="1"/> <!-- Now both UI elements use the scrollbar's value in unique ways. --> <Label Height="30" Width = "100" Content = "{Binding Path=Value}"/> <Button Content="Click" Height="300" Width = "300" FontSize = "{Binding Path=Value}"/> </StackPanel>

Demo – Tiedon sidonta

Tyylit ja resurssit Tyylit, pohjat ja nahat mahdollistavat käyttöliittymäelementtien ulkoasun yhtenäistämisen. Tyylien käyttö muistuttaa web –maailmasta tuttua css –tyylikieltä. Joskin tyylit voi puhtaasti kirjoittaa koodiin tai XAML:n, niin paikallisilla tai globaaleilla resursseilla ulkoasun muutokset hoituvat keskitetysti.

Tyylit ja resurssit <!-- Add a logical resource to the window's resource dictionary--> <Window.Resources> <Style x:Key ="OmaTyyli"> <Setter Property ="Control.FontSize" Value ="20"/> <Setter Property ="Control.Background"> <Setter.Value> <LinearGradientBrush StartPoint="0,0" EndPoint="1,1"> <GradientStop Color="Red" Offset="0" /> <GradientStop Color="Green" Offset="0.25" /> <GradientStop Color="Yellow" Offset="0.75" /> <GradientStop Color ="Red" Offset="1" /> </LinearGradientBrush> </Setter.Value> </Setter> </Style> </Window.Resources> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition/> </Grid.ColumnDefinitions> <!-- Both textbox and button now use the same style --> <TextBox Grid.Column ="0" Name="txtHello" Height="30" Width = "100" Style ="{StaticResource OmaTyyli}">Hello</TextBox> <Button Grid.Column ="1" Name="btnClickMe" Height="80" Width = "100" Style ="{StaticResource OmaTyyli}" Content = "Click Me"/> </Grid>

Demo – Tyylit ja resurssit

Navigointisovellukset WPF tukee ”navigaatiopohjaista” toiminnallisuutta sovelluksissa: Sovellukset toimivat selaimen tavoin, sisältäen valmiiksi navigoinnit (eteen/taakse), historian jne. Lisäksi sovelluksia voidaan ajaa selaimessa XBAP – sovellukset. XBAP != Silverlight

Navigointisovellukset NavigationWindow Navigointisovelluksen pääikkuna, joka huolehtii mm. sivujen kirjanpidosta. ”Selain” Page NavigationWindow:n hostaama sivu, jota ei voi käyttää sellaisenaan. Web sivu Frame Sivu tai ikkuna (Window ) voi sisältää yhden tai useamman kehyksen joiden sisällä voidaan hostata sivuja. Web sivun Frame

XBAP - sovellukset XAML Browser Application (XBAP) on WPF sovellus jota ajetaan selaimen sisällä. Sovellus ladataan web palvelimelta. Sovellus kytkeytyy selaimeen ja selaimen navigointi, historia ym. liittymiin. XBAP – sovelluksissa voidaan ajaa Internet Explorerilla tai .NET Framework 3.5 lähtien myös Firefoxilla. Vaatii .NET Framework 3.0 tai 3.5:n asiakaskoneella. XBAP ei ole SilverLight

Demo – Navigointisovellukset

Kiitos ja kumarrus! Kysymysten vuoro 