Files
MyAiConfiguration/shared/rules/wpf/index.md
T

1.6 KiB

WPF Code Guidelines

  • Use modern C# and current .NET/WPF conventions.
  • Keep UI, application logic and domain logic clearly separated.
  • Prefer MVVM for non-trivial views.
  • Keep code-behind minimal.
  • Use code-behind only for view-specific behavior that does not belong in the ViewModel.
  • Avoid business logic in views.
  • Avoid direct service access from controls.
  • Keep dependencies explicit and testable.
  • Prefer composition over inheritance.
  • Avoid unnecessary abstractions and framework wrappers.
  • Follow the existing project architecture unless there is a strong reason to change it.

Safety Rule

  • The UI must remain responsive.
  • Do not block the UI thread with I/O or expensive CPU work.
  • Do not bypass validation or security controls for convenience.
  • Do not introduce hidden cross-thread access.
  • Prefer predictable, explicit and testable UI behavior.

Detailed guidance

Read the matching reference file before working in that area:

Read this reference for... ...this kind of work
references/mvvm-and-binding.md MVVM, data binding, property change notifications, dependency/attached properties
references/commands-and-async.md Commands, async/threading, UI-thread work, events
references/collections-and-xaml.md Collections, virtualization, layout, XAML
references/resources-and-lifecycle.md Resources/styles, windows/dialogs, navigation, memory, images/media
references/security-and-errors.md Security, file/process access, error handling, logging, validation
references/architecture-and-quality.md Architecture, DI, testing, code quality, performance