windows presentation foundation - fi.muni.cz filewpf #2 •pre vytváranie uživatelského rozhrania...
TRANSCRIPT
WPF
• Prezentačný systém slúžiaci k vytváraniu aplikácií určených pre Windows
• grafický subsystém, ktorý poskytuje jednotný prístup k:
– uživatelskému rozhraniu
– 2D a 3D grafike
– dokumentom
– médiám
WPF #2
• pre vytváranie uživatelského rozhrania slúži značkovací jazyk XAML – Extensible Application Markup Language
• Striktné oddelenie aplikačnej logiky od prezentačnej (GUI)
• MVVM: Model–View–ViewModel
– Na rozdiel od MVC, MVP, …
WPF #3
• Prečo sa učiť WPF?
– Vyspelejšie, modernejšie než WinForms
– Moderné princípy vývoja GUI aplikácií
– Získané znalosti a návyky sa dajú použiť pri tvorbe aplikácií pre:
• Windows (Vista, 7, 8, 8.1)
• WindowsStore App (WinRT)
• Windows Phone 8+
• Android
• iOS
MVVM
View
View
Mo
del
Mo
del
get/set Properties call Commands
notify changes some messaging
Whatever C# you like … … messages work well!
View
V
iew
View
Mo
del
View
Mo
del
Mo
del
Mo
del
Slide from: Stuard Lodge, @slodge https://github.com/MvvmCross/MvvmCross-Presentations
Binding
• “zviazanie” View a ViewModel-u
Slide from: Stuard Lodge, @slodge https://github.com/MvvmCross/MvvmCross-Presentations
ViewModel – public properties
Slide from: Stuard Lodge, @slodge https://github.com/MvvmCross/MvvmCross-Presentations
Pre zmeny vo ViewModel-i
Slide from: Stuard Lodge, @slodge https://github.com/MvvmCross/MvvmCross-Presentations
Pre zmeny v kolekciach
Slide from: Stuard Lodge, @slodge https://github.com/MvvmCross/MvvmCross-Presentations
XAML
• Deklarativný jazyk (XML)
• Definuje hierarchiu komponent
<Grid>
<Label Content="Hello World!" HorizontalAlignment="Left"
Margin="25,50,0,0" VerticalAlignment="Top" Width="149"/>
<Button Content="Say Hello!" HorizontalAlignment="Left"
Margin="25,95,0,0" VerticalAlignment="Top" Width="106"
Click="Button_Click"/>
<TextBox HorizontalAlignment="Left" Height="23"
Margin="37,159,0,0" TextWrapping="Wrap" Text="TextBox"
VerticalAlignment="Top" Width="120"/>
</Grid>