Value Converters, Styles, Triggers, DataTemplates, ControlTemplates - Pääteohjaus 5
Tee seuraavat tehtävät WPF-ohjelmaksi Visual Studiolla. Käytä apunasi luentomateriaalia.
- Avaa edellisissä pääteohjauksissa tekemäsi ohjelma tai malli
- Parantele edellisen pääteohjauksen viimeistä tehtävää ja kirjoita ValueConverter, jonka avulla voit säätää radiopainikkeilla eri piirrosobjekteja piiloon ja näkyville. Poista edelliskerralla tekemäsi turhat tapahtumankäsittelijät.
- Kokeile luoda omia tyylejä. Tee yhdellä tyylimäärityksellä kaikista lomakkeella olevista labeleista yhdenmuotoiset: aseta kaikkien fontiksi Times New Roman, fontin kooksi 22 ja taustaväriksi keltainen. Labelien määrityksiin ei tarvi eikä pidä koskea! Tyylien kirjoittaminen selitetään luennon lisäksi esim. sivulla WPF Styles and Control Templates
- Muuta labelien tyyliä siten, että labelin taustaväri muuttuu vihreäksi jos hiiri viedään labelin päälle. Tämäkin onnistuu ilman yhtään koodiriviä käyttäen triggereitä.
- Lisää ikkunaan kaksi TextBoxia. Luo ikkunaluokkaasi kaksi uutta int-tyyppistä propertya min ja max. Sido (bind) luomasi propertyt uusiin textbokseihin.
- Luo oma tarkistusluokka, joka sallii syöttää kenttään vain kokonaislukuja väliltä 1-100. Virheen sattuessa luokka palauttaa virheilmoituksen "Luku ei ole sallitulla välillä". Ota tarkistusluokka käyttöön textbokseissasi.
- Kirjoita tyyli, joka esittää mahdollisen virheilmoituksen TextBoxin tooltip-ominaisuudella.
- Kirjoita painikkeita (button) varten ControlTemplaten avulla tyyli jossa muutat painikkeen ympyräksi jolla on tummanpunainen raja ja jonka sisäosa on värjätty vaaleammalla punaisella värillä.
- Varmista, että Autolaskurissa olevat painikkeet säilyttävät alkuperäisen ulkoasunsa eli anna käyttämällesi tyylille avain. Varmista tyylisi toiminta ja lisää ikkunaan uusi painike jossa käytät uutta tyyliä
- Parantele aiemmin luomaasi virheilmoitustyyliä seuraavilla tavoilla:
- Virheen sattuessa virheellisen kentän oikealla puolella näytetään !-merkki tai *-merkki
- Virheen sattuessa kentän taustaväri muuttuu punaiseksi ja kentän reunus keltaiseksi
- Lisää keskelle ikkunaa ListBox, joka sisältää listan seuraavista autoista:
- Mazda, 1980, 200000km
- Volvo, 2005, 50000km
- Toyota, 1999, 157000km
- BMW, 2010, 21000km
- Saab, 2002, 400000km
- Volkswagen, 2003, 47000km
Käytä apunasi auto-luokkaa. Laajenna luokkaa tarpeen mukaan. Katso mallia Luentoesimerkistä.
- Varmista, että ListBox näyttää autojen kaikki tiedot
- Kirjoita DataTemplate, joka esittää ListBoxissa auton tiedot seuraavaan tapaan:
Kuva on XAMLin esikatselusta, ei varsinaisesta käyttötilanteesta eli laatikon sisällä ei ole oikeasti mitään rajaviivoja.
Käyttäjien kommentit