! 제품 버전을 정확하게 입력해 주세요.
제품 버전이 정확하게 기재되어 있지 않은 경우,
최신 버전을 기준으로 안내 드리므로
더욱 빠르고 명확한 안내를 위해
제품 버전을 정확하게 입력해 주세요!

.NET WinUI 컨트롤을 데스크톱 응용 프로그램에 추가하는 방법 > 블로그 & Tips

본문 바로가기

ComponentOne

블로그 & Tips

.NET WinUI 컨트롤을 데스크톱 응용 프로그램에 추가하는 방법

페이지 정보

작성자 GrapeCity 작성일 2022-03-08 11:20 조회 2,326회 댓글 0건

본문

WinUI는 Windows 10 이상을 대상으로 하며 Microsoft Store에 게시할 수 있는 데스크톱 앱을 만드는 데 사용할 수 있는 통합된 API 집합을 제공하는 기본 UI 플랫폼입니다. 이 블로그는 NuGet 및 GrapeCity ComponentOne WinUI 에디션의 컨트롤을 비롯하여 .NET WinUI 컨트롤을 데스크톱 응용 프로그램에 추가하는 방법을 보여줍니다.


WinUI란 무엇입니까?


WinUI 플랫폼은 Microsoft의 WPF, WinRT, UWP부터 개발 중인 현대적 데스크톱 응용 프로그램까지 이어지는 그래픽 사용자 인터페이스(GUI) 프레임워크 중 최신의 플랫폼입니다. 아래 표를 보면 .NET 데스크톱 개발에 관한 한 WinUI가 Win32, UWP, .NET 6을 지원하고 Fluent & Modern UI 스타일을 갖고 있다는 점에서 최고임을 알 수 있습니다.

 플랫폼

 WinForms

 WPF

 WinRT

 UWP

 WinUI

 전체 이름

 Windows
 Forms

 Windows
 Presentation
 Foundation

 Windows
 Runtime

 Universal
 Windows
 Platform

 Windows
 UI
 Library

 출시 연도

 2002

 2006

 2012

 2015

 2021

 Win32
 (데스크톱 앱 지원)

 지원

 지원

 지원 안 함

 지원 안 함

 지원

 UWP 앱 지원

 지원 안 함

 지원 안 함

 지원

 지원

 지원

 .NET Framework를
 대상으로 함

 1.0 이상

 3.0 이상

 지원 안 함

 지원 안 함

 지원

 .NET 6를 대상으로 함

 지원

 지원

 지원 안 함

 지원 안 함

 지원

 프로그래임 언어

 C#, VB.NET

 C#, VB.NET

 C#, C++,
 VB.NET,
 Python,
 JavaScript

 C#, C++,
 VB.NET

 C#,
 C++

 XAML 기반 UI

 지원 안 함

 지원

 지원

 지원

 지원

 Fluent / Modern
 스타일

 *지원 안 함

 *지원 안 함

 지원

 지원

 지원


*이 비교를 위해 WinForms 및 WPF는 즉시 사용 가능한 Fluent/Modern 스타일을 지원하지 않습니다. 물론 타사 라이브러리 및 추가 코딩을 사용하면 테마를 통해 가능할 수도 있습니다. XAML 기반의 특성으로 인해 WinForms보다 WPF UI를 테마화하기가 훨씬 쉽습니다.



UWP와 WinUI의 차이점


두가지 모두 플랫폼 이름을 통해 알 수 있습니다. UWP는 플랫폼이면서 응용 프로그램 유형이므로 혼동할 수도 있습니다. 이해하기 쉬운 차이점은 "UWP" 플랫폼은 WinUI 2.0 기반이고 "WinUI" 플랫폼은 WinUI 3.0 기반이라는 점입니다.

WinUI 3에는 WinUI 2를 포함한 모든 것이 들어 있으며, 여기에 데스크톱 Win 32 응용 프로그램 모델이 제공됩니다. 따라서 "WinUI 3.0"이라고 되어 있다면 그것은 데스크톱(Win32) 또는 UWP 앱 개발용 "WinUI 플랫폼"을 의미하는 것입니다. "UWP 플랫폼"만이 UWP 앱을 만들 수 있습니다.

자세한 내용은 "WinUI와 이전 버전 비교" 문서를 참조하십시오.



WinUI 응용 프로그램 만들기


시작하려면 Visual Studio 2019 버전 16.10.0 이상이 필요합니다. 또한 WinUI 프로젝트 템플릿을 제공하는 Windows App SDK(이전 명칭은 Project Reunion)를 설치해야 합니다. Visual Studio 2019 또는 2022의 확장 관리자에서 Windows App SDK를 다운로드할 수 있습니다.

winui

Visual Studio에서 새 WinUI 프로젝트를 만들 수 있습니다. 프로젝트 이름은 지난해에 여러 번 변경되었지만, (이 문서를 작성하는 시점에는) "WAP(데스크톱에서는 WinUI 3)가 패키지로 제공되는 실험용 빈 앱"이라고 합니다.

이 프로젝트 유형은 Microsoft Store에 앱을 게시하는 데 필요한 패키지와 함께 Win32 WinUI 앱을 만듭니다. 또한 Win32 앱 대신 UWP 앱을 만드는 "UWP의 WinUI 3" 버전도 있습니다.

템플릿

WinUI 프로젝트 템플릿에는 MSIX 패키지가 포함되어 있고, 이 패키지는 Microsoft Store에서 앱을 테스트용으로 로드하기 위한 프로젝트 템플릿을 솔루션에 포함하고 있습니다.



WinUI 컨트롤 추가


WinUI 프로젝트가 있다면 MainWindow.xaml 파일을 엽니다. 이것은 응용 프로그램을 빌드하고 실행할 때 표시되는 시작 페이지입니다. 이 문서를 작성하는 시점에는 WinUI 앱의 디자인 화면이 없습니다. 입력하는 방법으로만 XAML 마크업에 컨트롤을 추가할 수 있습니다. XAML은 동일하기 때문에 WPF, UWP, Xamarin 앱을 사용한 경험이 있다면 도움이 될 것입니다.

IntelliSense 드롭다운을 사용하면 UI를 빌드하는 데 도움이 됩니다.

winui

StackPanel, Grid, Button, TextBlock, TextBox, ListView, ComboBox 등 몇 가지의 기본 컨트롤만 가지고도 전체 UI를 빌드할 수 있습니다. Microsoft의 XAML 컨트롤 갤러리 샘플을 사용하면 각 컨트롤의 사용 방법을 배우기에 좋습니다.

결국은 Microsoft가 WinUI용 디자인 화면 및 도구 상자를 지원할 것이므로 컨트롤을 드래그앤드롭으로 UI를 보다 쉽게 만들 수 있을 것입니다.



NuGet에서 WinUI 컨트롤 추가


기본 컨트롤은 응용 프로그램의 UI 프레임의 필수적인 컴포넌트입니다. 응용 프로그램이 간단한 데이터 형식이 아닌 한 추가 기능을 제공하는 고급 UI 컨트롤이 필요할 수도 있습니다. WinUI 응용 프로그램에 맞는 컨트롤을 찾기에 가장 좋은 곳은 NuGet입니다.

Visual Studio에서 프로젝트를 연 상태에서, 도구 - NuGet 패키지 관리자 - 솔루션용 NuGet 패키지 관리를 선택합니다. 그러면 NuGet 패키지 검색 창이 열립니다. 여기서 "Chart" 또는 "Calendar" 등의 키워드를 사용하여 다양한 UI 라이브러리를 검색할 수 있습니다. 이 때, 검색어에 "WinUI"를 포함시켜야 합니다.

패키지



ComponentOne WinUI 컨트롤을 사용하여 작업하기


2021년에 GrapeCity는 ComponentOne 제품 라인의 일부로 WinUI 컨트롤을 처음 출시했습니다. ComponentOne WinUI Edition은 WinUI 3 프레임워크를 기반으로 하는 Windows 데스크톱 응용 프로그램용 기본 UI 라이브러리입니다. 이 문서를 작성하는 시점에는 강력한 데이터그리드, 필수 달력, 아코디언 레이아웃 컨트롤을 비롯하여 여러 컨트롤이 포함됩니다.

ComponentOne FlexGrid는 고급 셀 사용자 정의 및 고성능 가상화 기능이 포함된 WinUI 데이터그리드 컴포넌트입니다. 데이터그리드 셀에 표시되는 항목을 사용자 정의하거나 서버에서 매우 큰 데이터 집합을 로드하려는 경우에는 FlexGrid 컴포넌트가 도움이 될 것입니다.

표


Excel 스프레드시트와 같은 WinUI FlexGrid 데이터 그리드를 사용하거나, 정돈된 목록 보기를 위한 편리한 기본 스타일과 함께 사용할 수 있습니다.

표


FlexGrid를 WinUI 응용 프로그램에 추가하려면 C1.WinUI.Grid NuGet 패키지를 검색하여 추가합니다. 이어서 다음 XML 네임스페이스(xmlns) 및 FlexGrid 마크업을 XAML 창에 추가합니다. XML 네임스페이스는 방금 추가한 패키지에서 알고 있는 클래스 이름에 액세스하는 데 필요합니다.

<Window  
  x:Class="App6.MainWindow"  
  xmlns="[http://schemas.microsoft.com/winfx/2006/xaml/presentation](http://schemas.microsoft.com/winfx/2006/xaml/presentation)"  
  xmlns:x="[http://schemas.microsoft.com/winfx/2006/xaml](http://schemas.microsoft.com/winfx/2006/xaml)"  
  xmlns:local="using:App6"  
xmlns:c1="using:C1.WinUI.Grid"  
  xmlns:d="[http://schemas.microsoft.com/expression/blend/2008](http://schemas.microsoft.com/expression/blend/2008)"  
  xmlns:mc="[http://schemas.openxmlformats.org/markup-compatibility/2006](http://schemas.openxmlformats.org/markup-compatibility/2006)"  
  mc:Ignorable="d">
​
  <c1:FlexGrid x:Name="grid" />    
</Window>


이제 이어지는 코드에서 "그리드" 컨트롤을 통해 컨트롤의 API에도 액세스할 수 있습니다. FlexGrid로 채우기 및 작업을 완료하려면 WinUI용 FlexGrid 퀵스타트 자습서을 이용하십시오.

ComponentOne WinUI 컨트롤은 데스크톱 앱에서만 WinUI를 지원하므로 MFC, WinForms, WPF 등과 같은 친숙한 기술을 사용하여 작성한 기존 앱을 점진적으로 마이그레이션할 수 있습니다. 따라서 사용자는 이러한 응용 프로그램을 원하는 속도로 개선할 수 있습니다.

그레이프시티 공식 홈페이지에서 다운로드하여 설치된 모든 샘플을 문서 폴더로 가져옵니다. GitHub의 GrapeCity에서 추가 샘플을 가져올 수 있습니다.

ComponentOne WinUI Edition은 차트, TreeView 및 입력 편집기 등과 같은 더 많은 컨트롤로 계속 확장되고 늘어날 것입니다.




지금 바로 ComponentOne을 다운로드하여 직접 테스트해보세요!

 
  • 페이스북으로 공유
  • 트위터로  공유
  • 링크 복사
  • 카카오톡으로 보내기

댓글목록

등록된 댓글이 없습니다.

메시어스 홈페이지를 통해 제품에 대해서 더 자세히 알아 보세요!
홈페이지 바로가기

태그1

인기글

더보기
  • 인기 게시물이 없습니다.
메시어스 홈페이지를 통해 제품에 대해서 더 자세히 알아 보세요!
홈페이지 바로가기
이메일 : sales-kor@mescius.com | 전화 : 1670-0583 | 경기도 과천시 과천대로 7길 33, 디테크타워 B동 1107호 메시어스(주) 대표자 : 허경명 | 사업자등록번호 : 123-84-00981 | 통신판매업신고번호 : 2013-경기안양-00331 ⓒ 2024 MESCIUS inc. All rights reserved.