Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

DBC WPF.

Podobné prezentace


Prezentace na téma: "DBC WPF."— Transkript prezentace:

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??


Stáhnout ppt "DBC WPF."

Podobné prezentace


Reklamy Google