Windows 앱 개발을 위한 Visual Studio

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 검색합니다.

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 빈 앱 템플릿에서 만든 앱입니다.

WinUI 탐색 앱

왼쪽 창에 NavigationView 를 사용하여 C# 앱을 만듭니다. 템플릿에는 홈 및 정보 페이지, 설정 항목 및 이들 사이를 전환하는 탐색 코드가 포함됩니다.

홈, 정보 및 설정 항목과 홈 페이지가 있는 탐색 창을 보여 주는 WinUI 탐색 앱 템플릿에서 만든 앱입니다.

WinUI TabView 앱

제목 표시줄로 확장되는 TabView 를 사용하여 C# 앱을 만듭니다. 템플릿에는 홈 및 정보 탭과 새 탭을 추가하기 위한 단추가 포함되어 있습니다.

제목 표시줄에 홈 및 정보 탭을 표시하는 WinUI TabView 앱 템플릿에서 만든 앱입니다.

WinUI MVVM 앱

MVVM 패턴을 사용하여 논리와 UI를 구분하는 C# 앱을 만듭니다. 템플릿은 관찰 가능한 속성 및 명령에 CommunityToolkit.Mvvm 을 사용하고 보기 모델에 바인딩된 카운터를 표시합니다.

WinUI MVVM 앱 템플릿에서 만든 앱으로, Hello, WinUI! 제목 및 증가 및 감소 단추가 있는 카운터입니다.

빈 앱(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 탭을 선택합니다.

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 하여 모든 항목 템플릿을 확인합니다.

참고하십시오