Naučte se používat šablony a vazby pro zobrazení dynamických dat

Zobrazení dynamických dat je běžná funkce při návrhu a vytváření rozhraní aplikací. Tato funkce představuje základní koncept platformy Silverlight a nástroj Expression Blend ji zpřístupňuje návrhářům uživatelského rozhraní.

V této lekci navážeme seznam na vygenerovaná ukázková data, navrhneme vzhled položky a budeme experimentovat s vazbami.

Vytvoření nového projektu

01 Vytvoření nového projektu

Spusťte program Blend a použijte položku nabídky File > New Project (Soubor > Nový projekt). Jako typ projektu zvolte Silverlight 3 Application + Website (Aplikace + web platformy Silverlight 3) a projekt pojmenujte BasicDataTemplates (Základní šablony dat). Po stisknutí klávesy OK bude projekt vytvořen a na pracovní ploše Artboard bude otevřena hlavní stránka MainPage.

Přidání seznamu

02 Přidání seznamu

Na panelu Assets (Materiály) vyhledejte nástroj ListBox (Seznam) a vytvořte na mřížce prvek ListBox (Seznam). ListBox je velmi užitečný ovládací prvek pro zobrazení skupiny položek. Koncept šablon umožňuje opakovaně využít funkce prvku ListBox (například funkce SelectedIndex nebo dynamické generování položek) pro vytvoření celé řady rozhraní.

Vytvoření ukázkových dat

03 Vytvoření ukázkových dat

Otevřete panel Data, který se nachází na pravé straně obrazovky. Klikněte na ikonu sudu se symbolem + pro přidání zdroje ukázkových dat. Klikněte na příkaz Define New Sample Data (Definovat nová ukázková data). V místním okně ponechte výchozí hodnoty a klikněte na tlačítko OK. Projekty, na kterých pracujeme, často používají dynamická data, pro která může být návrh obtížný. Ukázková data umožňují použít náhled dynamických dat v době návrhu na základě vygenerovaných nebo skutečných dat.

Úprava ukázkových dat

04 Úprava ukázkových dat

Na panelu Data vyberte vlastnost Property1 a vpravo od ní klikněte na ikonu pro typ vlastnosti, který je momentálně nastavený na hodnotu String (Řetězec) zastoupenou ikonou „ABC“. Změňte formát na hodnotu Name (Jméno). Dvakrát klikněte na vlastnost Property1 a změňte její název na hodnotu Name (Jméno). Změňte vlastnost Property2 na typ String (Řetězec) s formátem Email Address (E-mailová adresa) a přejmenujte ji na Email. Klikněte na symbol + vedle položky Collection (Kolekce), přidejte další vlastnost s názvem InviteSent (Pozvánka odeslána) typu Boolean. Přidejte další vlastnost s názvem ChairImage (Obrázek židle) typu Image (Obrázek) a položku Location (Umístění) ponechte prázdnou.

Navázání seznamu na ukázková data

05 Navázání seznamu na ukázková data

Teď teprve začne ta pravá zábava. Přetáhněte kolekci z panelu Data na prvek ListBox (Seznam). Ukázková data jsou navázána na seznam, který nyní zobrazuje data jako interaktivní položky. Toho bylo dosaženo díky tomu, že program Blend pro data automaticky vygeneruje šablonu dat. Spusťte projekt a zkuste procházet seznam položek.

Změna uspořádání šablony dat

06 Změna uspořádání šablony dat

Klikněte na seznam pravým tlačítkem a vyberte příkazy Edit Additional Templates > Edit Generated Items (ItemTemplate) > Edit Current (Upravit další šablony > Upravit vygenerované položky (Šablonu položky) > Upravit stávající). Teď je vhodná chvíle nastavit zvětšení pomocí kolečka myši. Na panelu Objects (Objekty) klikněte pravým tlačítkem na panel StackPanel (Panel seskupení) a klikněte na příkaz Change Layout Type > Grid (Změnit typ rozložení > Mřížka). Přidejte sloupec široký stejně jako obrázek židle. Zvětšete šířku mřížky a přemístěte dva prvky TextBlock (blok textu) a prvek CheckBox (zaškrtávací políčko) do sloupce 1. Změňte pozici ovládacích prvků, tak aby byly zobrazeny v pořadí jméno, e-mail, zaškrtávací políčko. Zmenšete výšku mřížky.

Úprava šablony dat

07 Úprava šablony dat

Klikněte na mřížku pravým tlačítkem a vyberte příkaz Group Into > Border (Seskupit do > Ohraničení). Nastavte vlastnosti BorderThickness (Tloušťka ohraničení) na hodnotu 1, Corner Radius (Poloměr rohu) na hodnotu 8, BorderBrush (Štětec ohraničení) na hodnotu Gray (Šedá) a Background (Pozadí) na hodnotu LinearGradient (Lineární gradient) sahající od barvy LightYellow (Světle žlutá) po barvu GrayYellow (Šedo žlutá). Pro blok textu sloužící k zobrazení jména nastavte použití fontu o velikosti 10pt a tučného písma. Obsah zaškrtávacího políčka nastavte na hodnotu Invite Sent (Pozvánka odeslána).

Úprava rozložení položky

08 Úprava rozložení položky

Opusťte režim úpravy šablony kliknutím na položku [ListBox] v navigačním menu v horní části obrazovky. Klikněte na seznam pravým tlačítkem a použijte příkazy Edit Additional Templates > Edit Layout of Items (ItemsPanel) > Create Empty (Upravit další šablony > Upravit rozložení položek (Panel položek) > Vytvořit prázdný). Ponechte výchozí hodnoty v místním okně Create ItemPanelTemplate Resource (Vytvoření prostředku šablony panelu položky) a klikněte na tlačítko OK. Na panelu Objects (Objekty) vyberte panel StackPanel (Panel seskupení) a změňte vlastnost Orientation (Orientace) z hodnoty Vertical (Vertikální) na hodnotu Horizontal (Horizontální). Opusťte režim úpravy šablony a upravte velikost seznamu tak, aby vyplnil spodní část mřížky.

Vytvoření vazeb prvků

09 Vytvoření vazeb prvků

Vytvořte novou mřížku vyplňující zbylý prostor a nazvěte ji itemGrid (mřížka položky). Na mřížku itemGrid přidejte prvek Image (Obrázek) a nastavte jeho vlastnost Margin (Okraj) na hodnotu 0. Vyberte mřížku itemGrid, vyhledejte vlastnost DataContext (Kontext dat) a klikněte na malý šedý čtvereček vedle tlačítka New (Nová). Klikněte na položku Data Binding (Datové vazby) a v místním okně vyberte kartu Element Property (Vlastnost prvku). Zvolte položku [ListBox] jako prvek Scene (Scéna) a hodnotu SelectedItem (Vybraná položka) jako vlastnost. Klikněte na tlačítko OK. Vyberte prvek Image (Obrázek) a pak klikněte na malý šedý čtvereček vedle vlastnosti Source (Zdroj). Klikněte na položku Data Binding (Datové vazby) a v místním okně vyberte kartu Explicit Data Context (Explicitní kontext dat). Vyberte položku Collection > ChairImage (Kolekce > Obrázek židle) a klikněte na tlačítko OK.

Otestování vazeb

10 Otestování vazeb

Spusťte projekt. Když vyberete položku v seznamu, bude zobrazen obrázek zvolené židle. Tolik funkcí a přitom jsme nenapsali ani řádek kódu. Tajemství spočívá v šablonách a ve vazbách. Navázali jsme ukázková data na seznam pro zobrazení položek. Šablona dat definovala vzhled a interaktivitu položek za použití vazeb vlastností. Mřížka itemGrid pak byla navázána na vlastnost SelectedItem (Vybraná položka) seznamu, přičemž vlastnost Image Source (Zdroj obrázku) byla navázána na vlastnost Image (Obrázek) této vybrané položky.

Pokud se chcete naučit něco víc o šablonách dat, můžete si přečíst článek Zobrazování dat na komunitním webu pro produkty řady Expression.