Лучшие практики WPF
Best practices for building WPF desktop applications with C# and .NET. Use when working on WPF projects, .NET desktop apps, XAML UI, MVVM architecture, system tray apps, or any C# project using Windows Presentation Foundation.
AIjcurbelo
official
Дизайн
Что делает навык
Набор лучших практик для создания десктопных приложений WPF на C# и .NET с использованием архитектуры MVVM. Оптимизирует структуру проекта, стиль кода и внедрение зависимостей для обеспечения поддерживаемости и производительности.
Когда применять
- Разработка новых WPF-приложений с нуля с соблюдением стандартов MVVM и DI.
- Рефакторинг существующих проектов для внедрения Dependency Injection и улучшения структуры.
- Настройка конфигурации проекта (csproj) и структуры папок для современных версий .NET.
- Реализация асинхронных операций в UI без блокировки потока диспетчера.
Как работает
- Настроить проект: включить ImplicitUsings, Nullable, UseWPF и задать целевую платформу в .csproj.
- Организовать структуру папок: Views, ViewModels, Models, Services, Utilities, Constants.
- Настроить MVVM: создать ViewModelBase с SetProperty и RelayCommand/AsyncRelayCommand.
- Настроить DI в App.xaml.cs: зарегистрировать сервисы как синглтоны, а ViewModels и окна как транзактные.
- Применить современные C#-конвенции: file-scoped namespaces, switch expressions, явные типы.
- Использовать конструкторное внедрение зависимостей, избегая Service Locator.
Примеры запросов агенту
Создай структуру проекта WPF с MVVM и DI, используя Microsoft.Extensions.DependencyInjection.
Реализуй ViewModel с асинхронной командой для загрузки данных, используя AsyncRelayCommand.
Настрой App.xaml.cs для инициализации сервисов и окна MainWindow через контейнер DI.
Что понадобится
- Среда разработки .NET (target framework net10.0-windows или аналогичная)
- Пакет Microsoft.Extensions.DependencyInjection
- Библиотека Microsoft.Extensions.Http
Описание составлено по SKILL.md навыка, сверено 05.10.2026.
Как подключить
1Скачать навык
# возьмите папку навыка «wpf-best-practices» из репозитория:
# https://github.com/jcurbelo/skills
2Положить папку с
SKILL.md к навыкам ассистента# положите папку навыка туда, где ассистент ищет skills:
cp -r wpf-best-practices/ ~/.claude/skills/wpf-best-practices/
Навык — папка с файлом SKILL.md (описание + инструкции) и опциональными скриптами. Ассистент (Claude, Claude Code и совместимые) подхватывает его по описанию и следует шагам.