Wpf Workgroup 2

1,095 views

Published on

The second WPF Workshop at FCS, UAIC

Published in: Technology, Business
  • Be the first to comment

  • Be the first to like this

Wpf Workgroup 2

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

×