Microsoft 릴리스 Windows UI 라이브러리 3 미리 보기 4

독서 시간 아이콘 9 분. 읽다


독자들은 MSpoweruser를 지원하는 데 도움을 줍니다. 당사의 링크를 통해 구매하시면 수수료를 받을 수 있습니다. 툴팁 아이콘

공개 페이지를 읽고 MSPoweruser가 편집팀을 유지하는 데 어떻게 도움을 줄 수 있는지 알아보세요. 자세히 보기

위누이 3

WinUI는 데스크톱과 UWP 모두에서 Windows 앱을 빌드하기 위한 최신 컨트롤과 스타일을 포함하는 사용자 인터페이스 계층입니다. Windows의 기본 UI 계층으로서 Fluent Design을 구현하여 각 Windows 앱에 사용자가 기대하는 세련된 느낌을 줍니다.

[lwptoc 제목=”WinUI 라이브러리 3 미리보기 4″ 너비=”40%” float=”오른쪽”]

WinUI 3은 올해 후반에 출시되는 WinUI 프레임워크의 최신 버전입니다. WinUI를 전체 UX 프레임워크로 크게 확장하여 Win32에서 UWP에 이르기까지 모든 유형의 Windows 앱에서 UI 계층으로 사용할 수 있도록 WinUI를 사용할 수 있습니다. 준비가 되면 모든 Windows 앱은 실행 중인 Windows 버전에 관계없이 작동하는 최신 컨트롤을 활용할 수 있습니다.

오늘 발매, WinUI 3 미리보기 4 프레임워크에 대한 중요한 버그 수정 및 기타 일반 개선 사항이 포함된 안정성 미리 보기 릴리스입니다.

미리 보기 4에 도입된 기능

  • WinUI 2.5와의 패리티(InfoBar 컨트롤, ProgressRing 및 NavigationView의 새로운 기능, 버그 수정 포함)
  • 사용자 지정 제목 표시줄 기능: 개발자가 데스크톱 앱에서 사용자 지정 제목 표시줄을 만들 수 있도록 하는 새로운 Window.ExtendsContentIntoTitleBar 및 Window.SetTitleBar API.
  • VirtualSurfaceImageSource 지원

이전 WinUI 3 미리 보기에 도입된 새로운 기능

다음 기능은 WinUI 3 Preview 1-3에 도입되었으며 WinUI 3 Preview 4에서 계속 지원됩니다.

  • 다음을 포함한 WinUI로 데스크탑 앱을 만드는 기능 .NET 5 Win32 앱용
  • 방사형 그래디언트 브러시
  • TabView 업데이트
  • 어두운 테마 업데이트
  • 개선 및 업데이트 웹뷰2
    • 높은 DPI 지원
    • 창 크기 조정 및 이동 지원
    • 최신 버전의 Edge를 대상으로 업데이트됨
    • 더 이상 WebView2 관련 Nuget 패키지를 참조할 필요가 없습니다.
  • SwapChain패널
  • MRT 핵심 지원
    • 이렇게 하면 시작 시 앱이 더 빠르고 가벼워지며 리소스 조회가 더 빨라집니다.
  • ARM64 지원
  • 앱 안팎으로 드래그 앤 드롭
  • RenderTargetBitmap(현재 XAML 콘텐츠만 있고 SwapChainPanel 콘텐츠 없음)
  • 사용자 지정 커서 지원
  • 오프 스레드 입력
  • 도구 / 개발자 경험 개선 :
    • 라이브 비주얼 트리, 핫 리로드, 라이브 속성 탐색기 및 유사 도구
    • WinUI 3용 Intellisense
  • 오픈 소스 마이그레이션에 필요한 개선 사항

WinUI 3의 이점과 WinUI 로드맵에 대한 자세한 내용은 Windows UI 라이브러리 로드맵 GitHub에.

Preview 4에서 수정된 버그 목록

다음은 Preview 3 이후 팀에서 수정한 사용자 관련 버그 목록입니다. 또한 안정화와 테스트 개선을 둘러싼 많은 작업이 진행되었습니다.

  • 이 릴리스는 다음 버그를 수정한 새 버전의 CS/WinRT 및 Windows SDK를 사용합니다.
    • {Binding}을 사용하여 URI 속성에 바인딩할 때 충돌이 발생합니다.
    • C#/WinRT Marshal 함수가 .NET 5와 올바르게 상호 운용되지 않음
  • Windows Insider Builds에서 실행할 때 WinUI 3 충돌
    • GitHub에서 이 버그를 보고해 주신 여러 커뮤니티 기고자에게 감사드립니다!
  • WebView2는 호스트 앱의 언어/로캘을 CoreWebView2Environment에 적용하지 않습니다.
  • Windows Community Toolkit DataGrid 컨트롤은 시작 시/스크롤 막대가 나타날 때 앱을 충돌시킵니다.
    • GitHub에서 이 버그를 보고해 주신 여러 커뮤니티 기고자에게 감사드립니다!
  • 디스플레이 모드가 변경되면 페이지 렌더링이 잘못된 상태가 됩니다.
  • CalendarView에서 Language ComboBox를 사용할 때 충돌이 발생합니다.
  • WinUI 3 데스크탑: WebView2에서 탭할 수 없음
  • WinUI 3 데스크탑: 파생된 TreeViewNodes가 있는 TreeView가 충돌함
  • WinUI 3 데스크탑: ContentDialog 내부의 TextBox에 텍스트를 입력할 수 없음
  • WinUI 3 데스크탑: ALT 및 F6이 작동하지 않음
  • 이전 제거된 SwapChainPanel은 새 SwapChain 위에 렌더링됩니다.
  • WinUI 3 데스크탑: 트랙패드로 스크롤할 수 없음
  • 동일한 스레드의 여러 창에서 NavigationView 컨트롤을 사용할 때 충돌이 발생합니다.
  • 접근성 문제: WinUI 데스크톱 앱 실행 시 포커스 사각형 표시
  • DataGrid에서 스크롤하는 동안 액세스 위반
  • WinUI 3 데스크탑: 탭 순환이 작동하지 않음
  • WinUI Xaml Islands를 사용하는 데스크톱 응용 프로그램에서 GridView의 끌어서 놓기 실패
  • 접근성 문제: WinUI 3 데스크탑에서 PageUp/PageDown 키로 스크롤할 수 없음
  • WebView2에 잘못된 표시 영역 크기가 있습니다.
  • MenuFlyout을 연 후 클릭 시 WebView2 충돌
  • WinUI 3 데스크탑: DropDownButton 또는 SplitButton의 플라이아웃을 중단하려고 하면 앱 충돌이 발생함
  • WebView2: 마우스 오른쪽 버튼을 두 번 클릭하면 충돌이 발생합니다.
  • ToggleSplitButton을 클릭하면 응용 프로그램이 충돌합니다.
  • WinUI 3 데스크탑: 작업 표시줄에 빈 DesktopWindowXamlSource 창이 표시됨
  • WinUI 3 데스크탑: DataGrid가 표시되지 않음
  • WinUI 3 데스크탑: 그리드에 파일을 놓을 수 없음
  • WinUI 3 데스크탑: WinUI 3 미리보기 2에서 ItemsRepeater 충돌
  • 바인딩을 업데이트할 때 발생하는 AccessViolationException
  • WinUI 3 데스크톱: NavigationView 스크롤 시 앱 충돌
  • ItemsSource 컬렉션에서 항목을 동적으로 추가하거나 제거하는 동안 ItemsControl이 업데이트되지 않습니다.
  • C++ 적합성 모드가 활성화된 경우 App.xaml.gh에서 컴파일 오류 C2760

제한 사항 및 알려진 문제

Preview 4 릴리스는 버그, 제한 사항 및 데스크톱 앱과 관련된 시나리오의 기타 문제가 특히 새로운 미리 보기입니다.

다음 항목은 WinUI 3 Preview 4의 알려진 문제 중 일부입니다.

개발자 도구

  • C# 및 C++/WinRT 앱만 지원됩니다.
  • 데스크톱 앱은 .NET 5 및 C# 9를 지원하며 MSIX 앱에 패키징해야 합니다.
  • UWP 앱은 .NET 네이티브 및 C# 7.3을 지원합니다.
  • 개발자 도구 및 Intellisense는 Visual Studio 버전 16.8에서 제대로 작동하지 않을 수 있습니다.
  • XAML 디자이너 지원 없음
  • 새로운 C++/CX 앱은 지원되지 않지만 기존 앱은 계속 작동합니다(가능한 한 빨리 C++/WinRT로 이동하세요)
  • 데스크톱 앱에서 여러 창에 대한 지원이 진행 중이지만 아직 완전하고 안정적이지 않습니다.
    • 다중 창 동작과 관련된 새로운 문제나 회귀를 발견하면 리포지토리에 버그를 신고하세요.
  • 패키지되지 않은 데스크톱 배포는 지원되지 않습니다.
  • F5 키를 사용하여 데스크탑 앱을 실행할 때 패키징 프로젝트를 실행 중인지 확인하십시오. 앱 프로젝트에서 F5 키를 누르면 WinUI 3에서 아직 지원하지 않는 패키징되지 않은 앱이 실행됩니다.

누락된 플랫폼 기능

  • Xbox 지원
  • 홀로렌즈 지원
  • 창 팝업
    • 보다 구체적으로, ShouldConstrainToRootBounds 속성은 항상 다음으로 설정된 것처럼 작동합니다. true, 속성 값에 관계없이.
  • 잉크 지원
  • 아크릴
  • MediaElement 및 MediaPlayerElement
  • 맵 컨트롤
  • SwapChainPanel 및 XAML이 아닌 콘텐츠용 RenderTargetBitmap
  • SwapChainPanel은 투명도를 지원하지 않습니다.
  • Global Reveal은 대체 동작인 솔리드 브러시를 사용합니다.
  • XAML 아일랜드는 이 릴리스에서 지원되지 않습니다.
  • 타사 생태계 라이브러리가 완전히 작동하지 않음
  • IME가 작동하지 않습니다

알려진 문제

  • Alt+F4는 데스크톱 앱 창을 닫지 않습니다.
  • 변경으로 인해 코어윈도우, 다음 WinRT API는 더 이상 작동하지 않을 수 있습니다. 데스크탑 예상대로 앱:

    WinUI 3 데스크톱 앱에서 WinRT API를 사용하는 방법에 대한 자세한 내용은 데스크톱 앱에서 사용할 수 있는 Windows 런타임 API.

  • Windows.UI.ViewManagement.UISettings.ColorValuesChanged 이벤트 데스크톱 앱에서는 더 이상 지원되지 않습니다. Windows 테마의 변경 사항을 감지하는 데 사용하는 경우 문제가 발생할 수 있습니다.
  • 이 릴리스에는 일부 실험적 API가 포함되어 있습니다. 이는 팀에서 철저히 테스트하지 않았으며 알려지지 않은 문제가 있을 수 있습니다. 제발 버그를 신고 문제가 발생하면 저희 리포지토리에서
  • 이전에는 CompositionCapabilities 인스턴스를 가져오기 위해 다음을 호출했습니다. CompositionCapabilites.GetForCurrentView(). 그러나 이 호출에서 반환된 기능은 지원 보기에 따라 다릅니다. 이 문제를 해결하고 반영하기 위해 이 릴리스에서 GetForCurrentView() 정적을 삭제했으므로 이제 다음을 생성할 수 있습니다. 작곡능력 직접 대상.
  • C# UWP 앱의 경우: WinUI 3 프레임워크는 C++(C++/WinRT 사용) 또는 C#에서 사용할 수 있는 WinRT 구성 요소 집합입니다. C#을 사용하는 경우 앱 모델에 따라 두 가지 버전의 .NET이 있습니다. UWP 앱에서 WinUI 3을 사용하는 경우 .NET 네이티브를 사용합니다. 데스크톱 앱에서 사용하는 경우 .NET 5(및 C#/WinRT)를 사용합니다. UWP에서 WinUI 3 앱에 C#을 사용할 때 WinUI 3 데스크톱 앱 또는 C#의 C#과 비교하여 몇 가지 API 네임스페이스 차이가 있습니다. WinUI 2 앱: 일부 유형은 Microsoft 네임스페이스가 아닌 System 네임스페이스. 예를 들어, INotifyPropertyChanged 인터페이스에 있는 System.ComponentModel 네임스페이스, 그것은 Microsoft.UI.Xaml.Data 네임스페이스. 이것은 다음에 적용됩니다.
    • INotifyPropertyChanged (및 관련 유형)
    • INotifyCollectionChanged
    • ICommand

    XNUMXD덴탈의 System 네임스페이스 버전은 여전히 ​​존재하지만 WinUI 3에서는 사용할 수 없습니다. ObservableCollection WinUI 3 C# UWP 앱에서 있는 그대로 작동하지 않습니다. 해결 방법은 다음을 참조하세요. CollectionsInterop 샘플 FBI 증오 범죄 보고서 XAML 컨트롤 갤러리 샘플.

다음은 무엇입니까?

개발자는 Microsoft의 자세한 기능 로드맵 특정 기능이 언제 WinUI 3에 도입되는지 확인합니다.

WinUI 3 미리보기 4 설치

WinUI 3 Preview 4에는 WinUI 기반 사용자 인터페이스로 앱 빌드를 시작하는 데 도움이 되는 Visual Studio 프로젝트 템플릿과 WinUI 라이브러리가 포함된 NuGet 패키지가 포함되어 있습니다. WinUI 3 Preview 4를 설치하려면 다음 단계를 따르십시오.

Windows 커뮤니티 툴킷

Windows Community Toolkit을 사용하는 경우 최신 버전 다운로드.

이외에도 제한 사항 및 알려진 문제, WinUI 프로젝트를 사용하여 앱을 빌드하는 것은 XAML 및 WinUI 2.x를 사용하여 UWP 앱을 빌드하는 것과 유사합니다. 따라서 대부분의 안내 문서 UWP 앱 및 윈도우.UI Windows SDK의 WinRT 네임스페이스를 적용할 수 있습니다.

WinUI 프로젝트 템플릿 시작에 대한 자세한 내용은 다음 문서를 참조하세요.

이 릴리스에 대한 API 참조 문서가 곧 제공될 예정이지만 그 동안 개발자는 Preview 3용 WinUI 3 API 참조 문서.

WinUI 3 Preview 3을 사용하여 프로젝트를 만든 경우 Preview 4를 사용하도록 프로젝트를 업그레이드할 수 있습니다. WinUI GitHub 리포지토리 자세한 지침은

Hot Reload, Live Visual Tree 및 Live Property Explorer와 같이 WinUI 3 Preview 4에 추가된 최신 도구 기능을 활용하려면 최신 WinUI 3 미리 보기와 함께 Visual Studio의 최신 미리 보기 버전을 사용하고 다음을 활성화해야 합니다. Visual Studio 미리 보기 기능의 WinUI 도구, 여기 지침.

을 참조 XAML 컨트롤 갤러리의 WinUI 3 Preview 4 분기 모든 WinUI 3 Preview 4 컨트롤 및 기능을 포함하는 샘플 앱용.


WinUI 3 Preview 4 XAML 컨트롤 갤러리 앱의 예

이 WinUI 3 미리 보기 릴리스는 초기 평가 및 개발자 커뮤니티의 피드백을 수집하기 위한 것입니다. 그것은해야 않습니다. 프로덕션 앱에 사용됩니다. Microsoft는 3년까지 WinUI 2021의 미리 보기 릴리스를 계속 배송하고 2021년 XNUMX월에 지원되는 첫 번째 공식 릴리스를 제공할 예정입니다.

를 사용하십시오 WinUI GitHub 리포지토리 피드백을 제공하고 제안 및 문제를 기록합니다.

주제에 대한 추가 정보: 개발자, 마이크로 소프트, 위누이 3 미리보기 4