Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этом руководстве вы используете GitHub Copilot в режиме агента для создания полного приложения WinUI 3 — простого приложения notes со списком заметок, возможностью добавления и удаления записей и страницы параметров. Вы точно увидите, какие подсказки будут использоваться на каждом шаге, и каким образом подключаемый модуль WinUI 3 и сервер Learn MCP сохраняют точность Copilot на протяжении всего процесса.
- Создание каркаса проекта WinUI 3 с помощью Copilot
- Создание пользовательского интерфейса XAML с помощью Copilot
- Добавление бизнес-логики с помощью Copilot
- Добавление уведомления Windows с помощью сервера Learn MCP
- Упаковка приложения с помощью интерфейса командной строки Winapp
Необходимые условия
- GitHub Copilot настраивается с подключаемым модулем WinUI 3 и сервером Learn MCP — см. Set up GitHub Copilot for Windows development
- Visual Studio 2026 с рабочей нагрузкой разработки приложений WinUI
-
winapp CLI установлен (
winget install Microsoft.winappcli)
Часть 1. Создание каркаса проекта
Создание проекта WinUI
Создайте новый project WinUI 3: в Visual Studio выберите File>New>Project, фильтруйте по WinUI и выберите шаблон WinUI Blank App (Packaged) C# . Назовите проект NotesApp и откройте его.
Откройте режим агента Copilot и создайте каркас структуры
Откройте панель Copilot Chat в Visual Studio и перейдите в режим agent. Затем введите:
"У меня есть новый пустой проект WinUI 3 с именем NotesApp. Настройте архитектуру MVVM со следующей структурой: MainWindow с navigationView, тремя страницами (Заметки, избранное, параметры), папкой ViewModels с базовым классом ViewModel и NotesViewModel, а также папкой Models с моделью "Примечание", которая содержит свойства Id, Title, Content и CreatedAt. Используйте CommunityToolkit.Mvvm".
Copilot создаст структуру папок, добавит ссылку на пакет NuGet CommunityToolkit.Mvvm, создаст базовые классы и подключит NavigationView. Просмотрите выходные данные— если что-то выглядит неправильно, попросите Copilot исправить его в одном сеансе чата.
Подсказка
Если Copilot создает пространства имен Windows.UI.Xaml вместо Microsoft.UI.Xaml, пользовательские инструкции подключаемого модуля WinUI 3 должны обнаруживать это. Если вы видите их, используйте запрос: "Исправьте все экземпляры Windows.UI.Xaml — это проект WinUI 3, поэтому все пространства имен XAML должны использовать Microsoft.UI.Xaml."
Часть 2. Создание пользовательского интерфейса
Создание страницы заметок
"Создайте XAML для страницы заметок. Он должен иметь ListView с заметками с заголовком и усеченным предварительным просмотром содержимого, текстовым полем и кнопкой в нижней части, чтобы добавить новую заметку, и кнопку "Удалить" для каждого элемента. Привязать его к NotesViewModel. Используйте элементы управления WinUI 3 и интервалы Fluent Design".
Copilot создает XAML и привязывает его к ViewModel. Попросите его настроить стили или макет по мере необходимости, например:
"Сделайте так, чтобы элементы списка использовали карточный стиль с тонкой тенью, как в примерах галереи WinUI".
Создание страницы параметров
"Создайте страницу параметров с переключателем для темной и светлой темы и кнопкой "Очистить все заметки" с помощью диалогового окна подтверждения. Используйте ContentDialog для подтверждения , а не MessageDialog".
Инструкции подключаемого модуля WinUI 3 направляют Copilot к ContentDialog (правильный подход WinUI 3) и от устаревшего MessageDialog.
Часть 3. Добавление бизнес-логики
Реализация сохраняемости заметок
"Реализуйте сохраняемость заметок в NotesViewModel с помощью System.Text.Json для сериализации и десериализации коллекции заметок в файл в ApplicationData.Current.LocalFolder. Загрузка заметок при запуске и их сохранение при изменении коллекции.
Copilot создает логику загрузки и сохранения. Попросите его добавить обработку ошибок:
"Добавьте блок try/catch вокруг операций с файлами и записывайте ошибки в отладочный вывод".
Реализация переключения тем
"Реализуйте переключатель темы в SettingsViewModel. При изменении переключателя обновите RequestedTheme в главном окне приложения, используя правильный метод в WinUI 3.
Часть 4. Добавление уведомления Windows
Попросите Copilot добавить уведомление, которое срабатывает при сохранении заметки.
"Добавьте уведомление приложения Windows, отображающее "Заметка сохранено" с заголовком заметки в качестве подзаголовок, когда заметка успешно сохраняется на диске. Используйте Windows App SDK AppNotificationManager".
С подключенным сервером Learn MCP Copilot может просматривать текущий API AppNotificationBuilder и генерировать правильный код уведомления. Он должен производить примерно следующее:
var notification = new AppNotificationBuilder()
.AddText("Note saved")
.AddText(note.Title)
.BuildNotification();
AppNotificationManager.Default.Show(notification);
Часть 5. Упаковка приложения
Когда вы будете готовы распространять или публиковать в Microsoft Store, создайте правильный пакет MSIX:
winapp pack --output ./publish
Это создает подписанный пакет MSIX, готовый для параллельной установки или отправки в Microsoft Store. Попросите Copilot помочь обновить манифест пакета:
"Покажи мне, как обновить файл Package.appxmanifest, чтобы указать отображаемое имя, описание и издателя для отправки в Магазин."
Сводка
Вы создали полное приложение заметок WinUI 3 с помощью:
- режим агент Copilot для формирования шаблонов, создания пользовательского интерфейса и бизнес-логики
- Подключаемый модуль WinUI 3 для обеспечения современной и правильной работы Copilot с актуальными API.
- Learn MCP Server для поиска API для уведомлений в SDK для приложений Windows
- winapp CLI для идентификации пакета и упаковки MSIX
Необязательная функция: добавление в приложение встроенного искусственного интеллекта
Приложение заметок является полностью функциональным, но его можно сделать дальше, добавив функцию ИИ, которая работает полностью на устройстве пользователя. Foundry Local упрощает выполнение языковой модели локально и предоставляет API, совместимый с OpenAI.
Установка Foundry Local и скачивание модели
winget install Microsoft.AIFoundry.Local
foundry model run phi-4-mini
После запуска модели он прослушивает http://localhost:5272/openai/v1.
Добавьте пакет NuGet
dotnet add package Azure.AI.OpenAI
Добавление кнопки "Сводка" на страницу "Заметки"
Спросите Copilot
Добавьте кнопку "Суммировать" на страницу "Заметки". Щелкнув по нему, он должен отправить содержимое выбранной заметки на локальную конечную точку ИИ по адресу http://localhost:5272/openai/v1 с помощью пакета Azure.AI.OpenAI и отображать сводку в ContentDialog. Имя модели — phi-4-mini".
Copilot создает вызов и диалоговое окно AzureOpenAIClient — API, совместимый с OpenAI, означает, что код выглядит идентично вызову облачного API, который просто указывает на localhost:
var client = new AzureOpenAIClient(
new Uri("http://localhost:5272/openai/v1"),
new ApiKeyCredential("foundry-local"));
var completion = await client.GetChatClient("phi-4-mini")
.CompleteChatAsync($"Summarize this note in 2 sentences: {note.Content}");
Что отображается для пользователей
Подключение к Интернету не требуется. Нет ключа API. Модель работает на их компьютере — быстрая, конфиденциальная и бесплатная.
Подсказка
Для приложений, предназначенных для Copilot+ компьютеров, вы можете переключить Foundry Local на Phi Silica, чтобы использовать NPU непосредственно для более быстрого вывода. Поверхность API отличается (Windows AI API, а не совместимые с OpenAI), но Copilot может помочь вам перейти на них.
- Агентические средства ИИ для разработки Windows
- обзор Foundry Local — локально запустите любую модель на Windows
- Phi Silica — ускорение NPU на компьютерах Copilot+
- Обзор API Windows ИИ
- CLI разработки приложений Windows (winapp CLI)
- Документация Windows App SDK
Windows developer