Visual Studio는 WinUI 및 Windows 앱 SDK 사용하여 Windows 앱을 빌드하는 데 권장되는 IDE입니다. XAML 기반 앱 개발을 위해 특별히 빌드된 Windows 플랫폼 및 도구와 긴밀한 통합을 제공합니다.
Windows 앱 개발자를 위한 주요 기능은 다음과 같습니다.
- XAML 핫 다시 로드 - 앱이 실행되는 동안 XAML 태그를 수정하고 다시 시작하지 않고 즉시 적용된 변경 내용을 확인합니다.
- XAML 라이브 시각적 트리 - 실행 중인 앱의 런타임 시각적 트리를 검사하여 레이아웃 문제를 디버그하고 요소 계층 구조를 이해합니다.
- XAML 및 C#/C++용 IntelliSense - 마크업 및 코드 비하인드 모두에 대해 코드 완성, 빠른 정보 및 오류 강조 표시를 제공합니다.
- 통합 디버깅 - XAML 및 코드에서 중단점을 설정하고, 데이터 바인딩을 검사하고, UI 렌더링 문제를 진단합니다.
시작하려면 WinUI 3 프로젝트 만들기 및 실행을 참조하세요.
WinUI project 템플릿
Visual Studio WinUI 앱을 빠르게 만드는 데 도움이 되는 project 템플릿을 포함합니다. 파일을 찾으려면 File>새로운>Project를 엽니다. 그런 다음 project 유형 드롭다운에서 WinUI 필터링하거나 WinUI 검색합니다.
앱 템플릿
시작하려는 앱 셸에 따라 템플릿을 선택합니다. 템플릿 이름을 선택하면 해당 템플릿으로 만들어지는 앱의 스크린샷을 볼 수 있습니다.
| 템플릿 | 언어 | winapp CLI 템플릿 | 설명 |
|---|---|---|---|
| WinUI 빈 앱(패키지) | C# 및 C++ |
winui(C#) |
콘텐츠가 없는 단일 창입니다. 이는 대부분의 새 앱에 권장되는 시작점입니다. |
| WinUI 탐색 앱 | C# | winui-navview |
홈, 정보 및 설정 페이지가 있는 NavigationView 셸입니다. |
| WinUI TabView 앱 | C# | winui-tabview |
탭이 제목 표시줄에 있는 TabView 셸입니다. |
| WinUI MVVM 앱 | C# | winui-mvvm |
CommunityToolkit.Mvvm과 함께 MVVM(Model-View-ViewModel) 패턴을 사용하는 페이지 및 보기 모델입니다. |
| Blank App(WAP Project와 함께 패키지된) | C# 및 C++ | 사용할 수 없음 | 빈 앱과 별도의 Windows 애플리케이션 패키징 Project. |
명령줄에서 프로젝트 만들기
C# 앱 템플릿은 Windows 앱 개발 CLI(winapp CLI)를 통해 터미널에서도 사용할 수 있습니다. 테이블의 템플릿 이름을 winapp new에 전달한 다음 winapp run로 앱을 빌드하고 시작합니다.
winapp new --name MyApp --template winui-navview --use-defaults
cd MyApp
winapp run
설치된 모든 템플릿을 확인하려면 winapp new --list 실행하세요. 생성된 프로젝트는 표준 .csproj이므로 언제든지 Visual Studio에서 열 수 있습니다. 자세한 내용은 WinUI에서 winapp CLI 사용을 참조하세요.
WinUI 빈 앱(패키지화된)
WinUI 기반 UI를 사용하여 C#(.NET) 또는 C++(Win32)로 데스크톱 앱을 만듭니다. project Microsoft.UI.Xaml.Window에서 파생된 단일 창으로 시작하며, 사용자 고유의 컨트롤과 페이지를 추가할 수 있습니다. 이는 대부분의 새 앱에 권장되는 시작점입니다. 연습은 WinUI 3 프로젝트 만들기 및 실행을 참조하세요.
WinUI 탐색 앱
왼쪽 창에 NavigationView 를 사용하여 C# 앱을 만듭니다. 템플릿에는 홈 및 정보 페이지, 설정 항목 및 이들 사이를 전환하는 탐색 코드가 포함됩니다.
WinUI TabView 앱
제목 표시줄로 확장되는 TabView 를 사용하여 C# 앱을 만듭니다. 템플릿에는 홈 및 정보 탭과 새 탭을 추가하기 위한 단추가 포함되어 있습니다.
WinUI MVVM 앱
MVVM 패턴을 사용하여 논리와 UI를 구분하는 C# 앱을 만듭니다. 템플릿은 관찰 가능한 속성 및 명령에 CommunityToolkit.Mvvm 을 사용하고 보기 모델에 바인딩된 카운터를 표시합니다.
빈 앱(WAP 프로젝트와 함께 패키지됨)
위의 WinUI 빈 앱(패키지) 템플릿과 동일하지만 솔루션에 별도의 Windows 애플리케이션 패키징 프로젝트를 추가합니다. 프로젝트는 앱을 배포할 수 있도록 MSIX 패키지로 구축합니다. 더 간단한 설정을 선호하는 경우, 별도의 패키징 프로젝트를 유지 관리하지 않기 위해 single-project MSIX를 대신 사용할 수 있습니다.
구성 요소 및 테스트 템플릿
이러한 템플릿은 WinUI 앱과 함께 작동하는 라이브러리 및 테스트 프로젝트를 만듭니다.
| 템플릿 | 언어 | winapp CLI 템플릿 | 설명 |
|---|---|---|---|
| WinUI 클래스 라이브러리 | C# | winui-lib |
WinUI 앱에서 코드 및 UI 구성 요소를 공유하기 위한 .NET 클래스 라이브러리(DLL)입니다. |
| Windows 런타임 구성 요소 | C++ | 사용할 수 없음 | 프로그래밍 언어에 관계없이 WinUI 기반 UI를 사용하는 모든 앱에서 사용할 수 있는 C++/WinRT로 작성된 Windows 런타임 구성 요소입니다. |
| WinUI 단위 테스트 앱 | C# 및 C++ |
winui-unittest(C#) |
앱에 대해 자동화된 테스트를 작성하고 실행하기 위한 MSTest project. |
WinUI 항목 템플릿
항목 템플릿을 사용하면 기존 WinUI project 새 파일을 추가할 수 있습니다. 솔루션 탐색기에서 프로젝트를 마우스 오른쪽 단추로 클릭하고 Add>새 항목 을 선택하고 WinUI 탭을 선택합니다.
| 템플릿 | 언어 | 설명 |
|---|---|---|
| 빈 페이지 | C# 및 C++ | Microsoft.UI.Xaml.Controls.Page 클래스에서 파생된 새 페이지를 정의하는 XAML 파일 및 코드 파일을 추가합니다. |
| 빈 창 | C# 및 C++ | Microsoft.UI.Xaml.Window 클래스에서 파생된 새 창을 정의하는 XAML 파일 및 코드 파일을 추가합니다. |
| 콘텐츠 대화 상자 | C# | Microsoft.UI.Xaml.Controls.ContentDialog 클래스에서 파생된 새 대화 상자를 정의하는 XAML 파일 및 코드 파일을 추가합니다. 자세한 내용은 대화 상자 컨트롤을 참조하세요. |
| 리소스 사전 | C# 및 C++ | XAML 리소스의 키가 지정된 빈 컬렉션을 추가합니다. 자세한 내용은 ResourceDictionary 및 XAML 리소스 참조를 참조하세요. |
| 리소스 파일(.resw) | C# 및 C++ | 앱에 대한 문자열 및 조건부 리소스를 저장하기 위한 파일을 추가합니다. 이 항목을 사용하여 앱을 지역화할 수 있습니다. 자세한 내용은 UI 및 앱 패키지 매니페스트에서 문자열 지역화를 참조하세요. |
| 템플릿화된 컨트롤 | C# 및 C++ | 기본 스타일을 사용하여 템플릿 컨트롤을 만들기 위한 코드 파일을 추가합니다. 템플릿 컨트롤은 Microsoft.UI.Xaml.Controls.Control 클래스에서 파생됩니다.이 항목 템플릿을 사용하는 방법을 보여 주는 연습은 XAML 템플릿 컨트롤 빌드를 참조하세요. 템플릿 컨트롤에 대한 자세한 내용은 사용자 지정 XAML 컨트롤을 참조하세요. |
| 사용자 제어 | C# 및 C++ | Microsoft.UI.Xaml.Controls.UserControl 클래스에서 파생되는 사용자 컨트롤을 만들기 위한 XAML 파일 및 코드 파일을 추가합니다. 일반적으로 사용자 컨트롤은 관련된 기존 컨트롤을 캡슐화하고 자체 논리를 제공합니다.사용자 정의 컨트롤에 대한 자세한 내용은 사용자 지정 XAML 컨트롤을 참조하세요. |
C# 프로젝트의 명령줄에서 이러한 항목을 추가하려면 일치하는 dotnet new 항목 템플릿(예: dotnet new winui-page -n SettingsPage.)을 사용합니다. 실행 dotnet new list winui 하여 모든 항목 템플릿을 확인합니다.
참고하십시오
Windows developer