Slideshow transcript
Slide 1: WPF Workgroup II Andrei Iacob Microsoft Student Partners
Slide 2: Agenda • Layout - intro (panel) - DockPanel - StackPanel - WrapPanel - Grid - Canvas - Viewbox • Controale - controalele WPF in detaliu - controalele WPF in detaliu mai mare (routed events) • Practica – un mini media player - MediaElement - Controlul asupra unui element media - Customizarea unui ListBox • WPF/E ?
Slide 3: Layout • Cuvantul cheie: the panel • Regula generala: pozitia si dimensiunea unui element de interfata este determinata de panel-ul de care apartine. • Exceptii de la regula: - dimensiunea precizata - proprietatea dock
Slide 4: DockPanel • Aranjeaza controalele astfel incat sa umple o latura specifica a sa • Util pentru designul ferestrei principale • Atributul dock • Exercitiu: ordinea (z value) in care apar controalele influenteaza cu ceva layout-ul? Ce face LastChildFill?
Slide 5: StackPanel • Stivuieste controalele, in doua orientari. • Util pentru designul frame-urilor de detalii • Atributul margin • VerticalAlignment si Horizontal alignment
Slide 6: WrapPanel • Aranjeaza controalele secvential de la stanga la dreapta (de sus in jos) • Util pentru o galerie de imagini (sau orice itemi), de exemplu • Uniformizeaza dimensiunea itemilor
Slide 7: Grid • Pozitioneaza elementele pe linii si coloane (un fel de StackPanel 2D) • Avem acces la linii si coloane • Variatiuni pe aceeasi tema: UniformGrid
Slide 8: Canvas • Nu are nici un control asupra obiectelor • Pozitia obiectelor este definita de proprietatile lor
Slide 9: ViewBox • Derivat din Decorator (nu poate avea decat un singur descendent) • Scaleaza continutul sa umple dimensiunea sa • Foarte util pentru operatiile de scalare a ferestrei
Slide 10: Practic • Simulare WorkSpace Zoom din Blend • Basic Databinding
Slide 11: Controale WPF • Model View Controller (MVC)
Slide 12: Routed events • Cum este modelul de tratare a evenimentelor in .NET? • De ce nu s-ar potrivi pentru WPF? • Ce e interesant la functia asta? private void MouseButtonDownButton(object sender, RoutedEventArgs e) { // something something }
Slide 13: Routed events • Evenimente rutabile: - bubbling - tunneling - direct • Evenimente cu prefixul preview • Oprirea handling-ului e.Handled = true;
Slide 14: Routed events • Evenimente bubbling Buton Grid Label Canvas Dreptunghi Click
Slide 15: Routed events • Evenimente tunneling Buton Grid Label Canvas Dreptunghi Click
Slide 16: Routed events • Evenimente directe Buton Grid Label Canvas Dreptunghi Click (si atat)
Slide 17: Practic • Ordinea apelarii event handler-urilor
Slide 18: Practic • Media Player




Add a comment on Slide 1
If you have a SlideShare account, login to comment; else you can comment as a guest- Favorites & Groups
Showing 1-50 of 1 (more)