implementing-wpf-validation
WPF Data Validation
1. Validation Approaches
| Approach | Location | Pros | Cons |
|---|---|---|---|
ValidationRule |
XAML (Binding) | Simple, declarative XAML | Hard to separate from ViewModel |
IDataErrorInfo |
ViewModel | ViewModel integration | Synchronous validation only |
INotifyDataErrorInfo |
ViewModel | Async support, multiple errors | Complex implementation |
ExceptionValidationRule |
XAML | Exception-based | Potential performance impact |
2. ValidationRule
2.1 Custom ValidationRule
public sealed partial class EmailValidationRule : ValidationRule
More from christian289/dotnet-with-claudecode
converting-html-css-to-wpf-xaml
Converts HTML/CSS to WPF CustomControl XAML with correct patterns and common pitfall solutions. Use when transforming web designs to WPF, converting CSS animations to Storyboards, implementing CSS border-radius clipping, CSS pseudo-elements (::before/::after), or CSS transforms in XAML.
58publishing-wpf-apps
Guides WPF application publishing and installer options. Use when user mentions publish, deploy, release, packaging, or installer to help choose deployment method and installer technology.
14using-avalonia-collectionview
Provides CollectionView alternatives for AvaloniaUI using DataGridCollectionView and ReactiveUI. Use when filtering, sorting, or grouping collections in AvaloniaUI applications.
10designing-avalonia-customcontrol-architecture
Defines the basic solution structure for AvaloniaUI Desktop Applications using CustomControl. Use when creating new AvaloniaUI projects or designing stand-alone control styles with ControlTheme.
10managing-styles-resourcedictionary
Manages WPF Style definitions and ResourceDictionary patterns including BasedOn inheritance and resource merging. Use when building theme systems, organizing resources, or choosing between StaticResource and DynamicResource.
8configuring-avalonia-dependency-injection
Configures GenericHost and Dependency Injection in AvaloniaUI applications. Use when setting up DI container, registering services, or implementing IoC patterns in AvaloniaUI projects.
8