Stáhnout prezentaci
Prezentace se nahrává, počkejte prosím
1
DBC WPF
2
WPF
3
První WPF aplikace
4
XAML - úvod https://wpf-tutorial.com/xaml/basic-xaml/
Ukázat jen událost (ne handler) Událost klik na tlačítko Vytvořit z panelu/ručně Jet dále Vynechat Command-line, Handling Exceptions
5
XAML https://wpf-tutorial.com/data-binding/using-the-datacontext/
Opakování Ukázat ElementName, připomenout UpdateSourceTrigger Nastavit DataContext v XAML Name="win" DataContext="{Binding ., ElementName=win}“ Ukázat RelativeSource Self
6
Responding to changes Ukázat, jak to nechodí Změnit na ObservableCollection PropertyChanged, po novu protected void OnPropertyChanged(string name) { PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(name)); } public void OnPropertyChanged<T>(Expression<Func<T>> propertyExpression) this.OnPropertyChanged(propertyExpression.Name);
7
Počítané pole public string FullName => "Pepa " + Name;
8
Oprava – user s bindingem
Udělat getter na seznam Userů private ObservableCollection<User> users; public ObservableCollection<User> Users { get if (users==null) users = new ObservableCollection<User>(); users.Add(new User() { Name = "John Doe" }); users.Add(new User() { Name = "Jane Doe" }); } return users;
9
Také v XAML <Window x:Class="PrvniWPF.ChangeNotificationSample"
xmlns=" xmlns:x=" Title="ChangeNotificationSample" Height="150" Width="300" DataContext="{Binding Mode=OneWay, RelativeSource={RelativeSource Self}}"> <ListBox Name="lbUsers" DisplayMemberPath="Name" ItemsSource="{Binding Users}"></ListBox> Ukázat Immediate Windows – např. chyba Binding Usersss
10
Problém – různé DataContexty!
Nejprve špatně nový text v datacontextu okna ListBox public string MyText => "AHOJ"; <ListBox Name="lbUsers" ItemsSource="{Binding Users}"> <ListBox.ItemTemplate> <DataTemplate> <StackPanel> <TextBlock FontWeight="ExtraBlack" Foreground="YellowGreen" Text="{Binding MyText}"/> <TextBlock Text="{Binding Name}"/> </StackPanel> </DataTemplate> </ListBox.ItemTemplate> </ListBox>
11
Předchozí nefunguje - oprava
<TextBlock FontWeight="ExtraBlack" Foreground="YellowGreen" Text="{Binding MyText}" DataContext="{Binding ElementName=window, Mode=OneWay}"/> Nebo <TextBlock FontWeight="ExtraBlack" Foreground="YellowGreen" Text="{Binding DataContext.MyText, ElementName=window}"/>
12
Resources https://wpf-tutorial.com/wpf-application/resources/
Jen ukázat Static vs. Dynamic Namaspaces
13
Styly Vyzkoušet: https://wpf-tutorial.com/styles/introduction/
Napsat si ručně.
14
Konvertory
15
Commands??
Podobné prezentace
© 2024 SlidePlayer.cz Inc.
All rights reserved.