Skip to content

Instantly share code, notes, and snippets.

@metem
Last active February 5, 2020 21:32
Show Gist options
  • Save metem/f41d52c9fb1946cf4965c226c10aec42 to your computer and use it in GitHub Desktop.
Save metem/f41d52c9fb1946cf4965c226c10aec42 to your computer and use it in GitHub Desktop.

WPF

Architecture

  • Overview of MVVM architectural pattern.
  • Why it is important to separate UI from logic?
  • Why should you use MVVM framework? Which one?
  • How to manage application flow?
  • How to handle modal dialogs?
  • How to handle application internal communication?
  • MVVM and async
  • How to handle exceptions?
  • How to test WPF application?

UI

  • Usefull tools
  • Usage of design time data
  • How to style control (+ material design)?
  • Data template and control template
  • When to create new custom control?
  • Converters
  • Form validation

Other

  • Tips & tricks
@wi7a1ian
Copy link

wi7a1ian commented Feb 3, 2020

W "How to manage application flow?" chodzi o navigator?
W "How to handle application internal communication?" chodzi o meditory/event aggregatory?
W "How to handle exceptions?" chodzi między innymi o global exception handlery?

Consider:

  • how to handle modals (not dialogs)
  • binding options, i.e: to prop, to bindable property, to event, event-to-command
  • convertery
  • when to create a new UserControl and when not
  • add form validation with IValidationRule
  • MVVM and async (ppl have problem with this)
  • styles: material design

Wychodzi w sumie całkiem sporo tematu...

@metem
Copy link
Author

metem commented Feb 4, 2020

dzięki za uwagi.

W "How to manage application flow?" chodzi o navigator? - też ale generalnie o to jak poradzić sobie ze zmianami widoków w aplikacji i jak dodać kod który wykona się przed/po zmianie widoku.
W "How to handle application internal communication?" chodzi o meditory/event aggregatory? tak, głównie event aggregator
W "How to handle exceptions?" chodzi między innymi o global exception handlery? tak

Consider:

how to handle modals (not dialogs) - dodalem, ale co masz na myśli pisząc (not dialogs)? chodzi o nonmodal dialogs? Generalnie zamierzam uwzględnić to jak blokować główny content aplikacji podczas wyświetlania modal dialogu.
binding options, i.e: to prop, to bindable property, to event, event-to-command - większość z tego będzie w temacie frameworku/toolkitu mvvm.
convertery - dodałem
when to create a new UserControl and when not - jest już na liście
add form validation with IValidationRule - dodałem
MVVM and async (ppl have problem with this) - dodałem
styles: material design - dodałem

@wi7a1ian
Copy link

wi7a1ian commented Feb 5, 2020

Z tymi modalami to chodziło mi dokładnie o to co piszesz - dialog co blokuje główny content apki, przeważnie dając szare tło na wszyscy poza dialogiem i blokując eventy:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment