Lag et Wallview for bilder med Silverlight Design

Som tittelen sier, skal vi lage et Wallview inspirert av iTunes. Denne opplæringen er delt opp i to deler - en for designen i Blend og den andre for koden bak i Visual Studio.


Endelig resultatforhåndsvisning

Ta en titt på denne videodemoen av det endelige resultatet vi skal jobbe for (eller bare sjekk ut den webbaserte demoen ovenfor):


Introduksjon

I denne delen av opplæringen skal vi designe to UserControls i Expression Blend. Denne opplæringen ser ganske lang ut fra mengden trinn, men dette er fordi det er veldig grundig; Det er en forklaring og skjermbilde for nesten hvert klikk du må gjøre. Grunnen til at jeg har skrevet det så mye i detalj er at mine kolleger fra universitetet fant Blend altfor komplisert og vanskelig å bruke.


Trinn 1: Opprett et nytt prosjekt i Visual Studio

Åpne Visual Studio og klikk på "File"> "New"> "Project" i øverste menylinje.


Trinn 2: Oppsett

Velg Silverlight Application Visual C # fra menyen og skriv inn "WallviewApp" for et prosjektnavn nederst, samt stedet for å lagre prosjektet..

Etter det vil du se en popup. Pass på at du merker av i boksen nederst og velg Silverlight 4 fra kombinasjonsboksen.


Trinn 3: Åpne prosjektet i Blend

Start Expression Blend og åpne prosjektet som vi nettopp opprettet i Visual Studio.

Bla gjennom prosjektfilen i prosjektkatalogen og åpne den.


Trinn 4: Opprett to nye mapper

Høyreklikk på prosjektet WallviewApp inne i prosjektetreet og velg "Legg til ny mappe". Gjør dette to ganger, ring mappene "usercontrols" og "image".


Trinn 5: Opprett en ny UserControl

Høyreklikk på den nyopprettede mappen "usercontrols" og velg "Legg til nytt element ...".

I popupen må du kontrollere at UserControl er valgt og skriv inn "image.xaml" som et navn.


Trinn 6: Opprett en StackPanel

Velg StackPanel Container fra verktøylinjen som skal være på venstre side som standard ...

... og tegne et rektangel midt på LayoutRoot som var der fra begynnelsen.


Trinn 7: Juster StackPanel

Kontroller at StackPanel er valgt på venstre side i panelet "Objekter og tidslinje". På høyre side ser du parametrene for det valgte elementet. Endre bredde og høyde til "Auto (0)" ved å klikke på de kryssede pilene ved siden av tekstfeltet. HorizontalAlignment til "Center" og VerticalAlignment til "Top". Tilbakestill marginen ved å klikke på det hvite firkantikonet ved siden av tekstfeltene og velg Tilbakestill fra menyen. Deretter setter Top-Margin til "5". Nå skal Layout-panelet se slik ut, og siden StackPanel har en størrelse på 0x0 piksler, kan du ikke lenger se det:


Trinn 8: Lag et rutenett

Fortsett og velg Gitterbeholderen fra verktøylinjen på venstre side (der vi valgte StackPanel før) og tegne et annet rektangel inn i midten av arbeidsområdet.


Trinn 9: Juster rutenettet

Ta en titt på panelet "Objekter og tidslinje" og kontroller at rutenettet er inne i StackPanel. Hvis det ikke bare klikker og drar det inn i StackPanel.

Juster innstillingsinnstillingene mens rutenettet fortsatt er valgt. Angi bredde og høyde til "200" piksler, horisontal og vertikaljustering for å "strekke" hvis de ikke allerede er.


Trinn 10: Lag en kant

Nå skal vi lage en grense. Du kan velge den som Gitter og StackPanel fra verktøylinjen på venstre side. Tegn et rektangel med grensen og flytt det inn i gridet hvis det ikke allerede er.


Trinn 11: Juster kantlinjens farge og hjørner

Åpne området for Pensler på høyre side og endre BorderBrush til følgende farge: "# 0076A2F9". Sett deretter BorderThickness i Utseende-panelet til "5" piksler i alle fire retninger og CornerRadius til "5" piksler. Bredde og høyde skal settes til "Auto" ved å klikke på de kryssede pilene ved siden av tekstboksen. HorizontalAlignment må settes til "Center" og VerticalAlignment til "Bottom":


Trinn 12: Juster grensen Legg til en skygge

Nå skal vi legge til en ShadowEffect til grensen. Klikk på knappen "Ny" i Utseende-området rett ved siden av Effekt. I kommende popup velg "DropShadowEffect" og klikk "OK".

Juster skyggeinnstillingene som kom opp rett under "Ny" -knappen ved å sette BlurRadius til "10" og ShadowDepth til "1":


Trinn 13: Importer et bilde

Nå skal vi importere et bilde til Blend. Du gjør dette ved å enten høyreklikke mappen kalt "bilde" som vi opprettet tidligere og velge "Legg til eksisterende element" eller ved å velge mappen og dra et bilde rett inn på det fra skrivebordet eller utforskeren.

Etter importen skal prosjektet ditt se slik ut:


Trinn 14: Bruk bildet

For å bruke bildet i kontrollen, drar du bare det fra prosjektleseren, hvor du importerte den, rett inn på arbeidsområdet. Som du kan se er det altfor stort og i feil beholder:

For å fikse at vi bare drar bildet inn i grensen:


Trinn 15: Juster bildet

Endre høyde og bredde av bildet til "Auto", Horisontal og VertikalAlignering til "Senter", Marginer til "0" og Strek til "Uniform" i fellesfeltet:


Trinn 16: Opprett en TextBlock

Velg TextBlock-verktøyet fra verktøylinjen på venstre side, og opprett en TextBlock et sted i arbeidsområdet.

Trykk på "ESC" -tasten på tastaturet for å avbryte redigering av teksten inne i TextBlock.


Trinn 17: Juster TextBlock

Klikk og dra tekstblocket i "Objects and Timeline" -panelet i StackPanel vi opprettet tidligere.

Deretter endrer du Forgrunnsfarge til "# FF1F1F1F" og Layout-innstillingene på høyre side til følgende verdier: Bredde: "Auto", Høyde: "Auto", HorisontalAlignering: "Senter", VertikalAjustering: "Topp", Margin -Topp: "8". Sett teksten til ingenting ved å markere teksten "TextBlock" og slette den eller ved å klikke den hvite plassen ved siden av den og klikke "Tilbakestill". Endre også skriften til teksten til "Verdana":


Trinn 18: Opprett en annen TextBlock

Opprett en annen TextBlock enten ved å gjenta trinn 16 og 17, eller ved å velge den vi opprettet allerede i "Objects and Timeline" -panelet og trykk Ctrl + C og deretter Ctrl + V for å duplisere den. Det eneste vi må gjøre forskjellig fra Trinn 17 er at vi ikke vil ha noen Margin å bli satt. Hvis du gjorde duplikatmetoden, satte du bare toppmargenen til "0" eller klikk på den lille hvite plassen ved siden av den og tilbakestill marginen:


Trinn 19: Gi nytt navn til elementene

For å kunne jobbe med elementene vi opprettet så langt, må vi gi dem navn. Så gå videre og gi nytt navn til TextBlock helt nederst for å "imgDate" ved å enten sakte klikke to ganger eller ved å høyreklikke og velge "endre navn". Endre navnet på den andre TextBlock til "imgName", bildet til "img", grensen til "imgBorder" og gridet til "imgSize". Nå er vi ferdige med utformingen av denne kontrollen, og ditt hierarki bør se slik ut:

Og designet skal se slik ut:

Selvfølgelig kan du ikke se de to TextBlocks i prosjektet ditt siden vi satte teksten til ingenting noen skritt tidligere.

Personlig la jeg navnene på Textblocks så lenge jeg trenger dem for å få designet gjort før jeg fjerner dem. På denne måten kan du kontrollere om alt er på riktig sted.


Trinn 20: Ta en titt på XAML

Hvis du vil se koden vi nettopp genererte, klikker du på ikonet "< >"i midten øverst på høyre rullefelt i arbeidsområdet. For å komme tilbake til designvisningen, klikk på ikonet øverst.

Vår kode ser slik ut:

                

Trinn 21: Opprett en annen UserControl

Pass på at du bytter tilbake til designvisningen.

Opprett en annen UserControl i mappen "usercontrols" ved å høyreklikke mappen og velge "Legg til nytt element" fra menyen.

Fra popup-vinduet velg "UserControl" og for navnet skriv inn "wallview-img.xaml":


Trinn 22: Lag en ScrollViewer

Velg ScrollViewer-beholderen fra verktøylinjen til venstre ...

... og trekk et rektangel med det inn i arbeidsområdet.


Trinn 23: Juster ScrollViewer

Mens ScrollViewer er valgt, kontroller du Penselområdet på høyre side og endre BorderBrush til "No Brush".

Sett BorderThickness til "0" for alle fire retninger, Horisontal og VertikalAlignment til "Stretch", Top-Margin til "29" piksler og de andre Marginene til "0". Kontroller også om Bredde og Høyde er på "Auto" ved å klikke på krysspiler. Videre utvide Layout-området ved å klikke på den lille pilen og sette alle fire Padding-retninger til "0":


Trinn 24: Lag en StackPanel

Velg StackPanel fra verktøylinjen til venstre ...

... og opprett en StackPanel midt i ScrollViewer.


Trinn 25: Juster StackPanel

Velg StackPanel hvis den ikke allerede er fra "Objects and Timeline" -panelet, og klikk deretter på "Solid Color Brush" -knappen i børstepunktet (den er den andre fra venstre, rett ved siden av "No Brush"). og sett bakgrunnsfargen til "# FFB8B8B8". Endre endre horisontal og vertikaljustering til "Stretch", kontroller om Bredde og Høyde er satt til "Auto", og hvis Marginene er alle "0":


Trinn 26: Opprett et rutenett

Velg gridbeholderen fra verktøylinjen og opprett et grid.

Hvis du opprettet den inne i StackPanel, bare dra og slipp den inn i LayoutRoot-Grid:


Trinn 27: Juster rutenettet

Endre gridens høyde til "30" piksler og bredden til "Auto". HorizontalAlignment til "Stretch", VerticalAlignment til "Top" og Marginen til (-1, -1, -1, 0) for (venstre, topp, høyre, nederst):


Trinn 28: Opprett et rektangel

Velg rektangulærverktøyet fra venstre side som ligger over beholderne vi brukte flere ganger allerede ...

... og trekk en boks inn i arbeidsområdet.

Flytt rektangelet til rutenettet vi opprettet i trinnet før:


Trinn 29: Juster rektangelet

Endre rektangulens fyllfarge til "# FF4E4E4E":

Og strekkfargen til "# FF1F1F1F":

Sett høyde og bredde til "Auto", Horisontal og Vertikaljustering til "Strekk" og tilbakestill marginen hvis det er noen:


Trinn 30: Opprett en StackPanel

Nå lager vi en StackPanel og flytter den inn i rutenettet:


Trinn 31: Juster StackPanel

Endre StackPanel-parametrene til følgende: Bredde og høyde til "Auto", Orientering til "Horisontal", Horisontaljustering til "Venstre", Vertikaljustering til "Senter" og Margin-venstre til "10":


Trinn 32: Opprett en knapp

Velg knappverktøyet fra verktøylinjen ...

... og lag en knapp et sted i arbeidsområdet.

Dra deretter den inn i StackPanel vi nettopp har opprettet:


Trinn 33: Juster knappen

Sett knappens bredde og høyde til "Auto", HorizontalAlignment til "Stretch", VerticalAlignment til "Center", Margins hvis det er noe å "0", Innholdet til "Alle album" (hvite mellomrom med vilje slik at standardknappen ser ut litt bedre) og skriften til "Verdana":


Trinn 34: Kopiér knappen

Velg Knappen og trykk Ctrl + C, Ctrl + V for å kopiere og lime inn knappen i samme StackPanel, deretter Endre margen til venstre til "5" og innholdet til "Current Album":


Trinn 35: Dupliser StackPanel

Velg StackPanel med de to knappene i det fra panelet "Objekter og tidslinje" og trykk CTRL + C, CTRL + V for å duplisere det også. Nå bør hierarkiet se slik ut:


Trinn 36: Juster Duplisert StackPanel

Velg duplisert StackPanel hvis du ikke allerede har endret, endre HorizontalAlignment til "Right" og sett alle margene til "0" bortsett fra den riktige som du har satt til "10" piksler.


Trinn 37: Juster knappene

Velg en av knappene i duplisert StackPanel og endre innholdet til " < " if you selected the left one and to " > "for den rette. Nå har vi to knapper med et pilsymbol som senere brukes til navigering.


Trinn 38: Opprett en glidebryter

Velg glidebryteren fra verktøylinjen og opprett en glidebryter på arbeidsområdet.

Dra deretter og slipp den til toppen av nedre StackPanel:


Trinn 39: Juster skyveknappen

Velg glidebryteren og juster den til følgende innstillinger:

  • Bredde: "100",
  • Høyde: "Auto",
  • Horisontaljustering: "Senter",
  • Vertikaljustering: "senter",
  • Margin-Høyre: "20",
  • de andre margenene: "0",

Og under Vanlige egenskaper:

  • LargeChange: "0,2";
  • Maksimum: "1,5";
  • Minimum: "0,5":
  • SmallChange: "0,1";
  • Verdi: "1".

Trinn 40: Gi nytt navn til elementene

Som i bildet UserControl som vi opprettet tidligere, skal vi omdøpe elementene vi trenger senere. Fra bunn til toppen: Knapp: "btnNext", Knapp: "btnPrev", Slider: "glidebryter", hopp over StackPanel, Button: "btnCurrentAlbum", Button: "btnAllAlbums", hopp over de neste elementene opp til StackPanel som er inne av ScrollViewer. Gi nytt navn til StackPanel til "innhold". Nå skal hierarkiet se slik ut:


Trinn 41: Endelig utseende

Slik viser "wallview-img" UserControl nå:


Trinn 42: Ta en titt på koden

Slik ser xaml-koden for vår UserControl "wallview.img.xaml" opp:

         

Konklusjon

Blend er et flott verktøy for å bygge vakre design og animasjoner. Du kan til og med skrive hele koden bak i Blend, men jeg foretrekker å bruke Visual Studio siden det er kraftigere, har en debugger og en bedre IntelliSense for forslag og autofullføring.

I den andre delen av denne opplæringen skal vi skrive hele koden bak for våre to UserControls i C #, så vel som vår egen webservice som bringer hvert bilde fra en bestemt mappe til vår wallview.

Siden dette er min første opplæring, håper jeg at du likte å jobbe gjennom det og lært noe nyttig. For eventuelle kommentarer, forslag eller bekymringer, vennligst la et notat i kommentarseksjonen.

Takk for at du leste!


Ytterligere ressurser

30 dagers prøve med Blend
En introduksjon til Microsoft Silverlight 4 - Blend