다음을 통해 공유


Windows 앱 SDK 1.4에 대한 안정적인 채널 릴리스 정보

안정적인 채널은 프로덕션 환경의 앱에서 사용할 수 있도록 지원되는 Windows 앱 SDK의 릴리스를 제공합니다. Windows 앱 SDK의 안정적인 릴리스를 사용하는 앱을 Microsoft Store에 게시할 수도 있습니다.

중요 링크:

최신 안정적인 채널 릴리스:

Windows App SDK 다운로드

참고 항목

Windows 앱 SDK Visual Studio 확장(VSIX)은 더 이상 별도의 다운로드로 배포되지 않습니다. Visual Studio 내의 Visual Studio Marketplace에서 사용할 수 있습니다.

Version 1.4.6 (1.4.240512000)

1.4 릴리스에 대한 중요한 버그 수정을 포함하는 Windows 앱 SDK의 서비스 릴리스입니다.

  • 입력을 처리할 때 발생할 수 있는 잠재적 충돌을 해결했습니다.
  • 다른 앱에서 끌어서 놓기 작업이 올바른 복사/이동/링크 삭제 작업을 허용하지 않는 문제를 해결했습니다.
  • 디버깅에 대한 WinUI 원본 서버 정보가 microsoft-ui-xaml GitHub 리포지토리를 올바르게 가리키도록 수정되었습니다.
  • 라이브러리의 resources.pri을(를) 앱의 resources.pri에 제대로 병합하기 위해 GitHub 문제 #8857에 대한 수정 문제를 해결했습니다.

Version 1.4.5 (1.4.240211001)

1.4 릴리스에 대한 중요한 버그 수정을 포함하는 Windows 앱 SDK의 서비스 릴리스입니다.

  • 마우스 휠을 사용하여 스크롤하는 동안 마우스 단추를 클릭할 때 응용 프로그램을 중단시킬 수 있는 문제를 해결했습니다. 자세한 내용은 GitHub문제 #9233을 참조하세요.
  • NuGet 패키지 체인을 참조할 때 중복 자산과 관련된 문제를 해결했습니다. 자세한 내용은 GitHub문제 #8857을 참조하세요.
  • 메모리 누수, 줄임표 메뉴가 비어 있을 때의 크래시, 창 내에서 줄임표 메뉴가 잘못 제한되는 등의 여러 BreadcrumbBar 문제를 해결했습니다.
  • 그래픽 리소스를 해제할 때 종료 시 발생할 수 있는 충돌을 해결했습니다.

Version 1.4.4 (1.4.231219000)

1.4 릴리스에 대한 중요한 버그 수정을 포함하는 Windows 앱 SDK의 서비스 릴리스입니다.

  • WinUI 3 진단 보안 문제가 해결되었습니다.
  • 터치를 통해 활성화할 때 암호 상자에 화상 키보드가 표시되지 않는 입력 문제가 해결되었습니다. 자세한 내용은 GitHub문제 #8946을 참조하세요.
  • 파일 크기가 Microsoft.UI.Xaml.Controls.dll 예기치 않게 증가하는 문제를 해결했습니다.
  • 포커스를 CommandBarFlyout 설정할 때 충돌이 발생할 수 있는 문제를 해결했습니다.
  • .NET 8 RID 관련 자산 처리에 대한 Windows 앱 SDK 지원이 업데이트되었습니다.
  • 일부 스왑 체인이 잘못 배치되거나 늘어나게 하는 문제를 해결했습니다.

Version 1.4.3 (1.4.231115000)

1.4 릴리스에 대한 중요한 버그 수정을 포함하는 Windows 앱 SDK의 서비스 릴리스입니다.

  • 짧은 시간 동안 배경 없이 메뉴가 나타날 수 있는 문제를 해결했습니다.
  • 특정 다중 모니터 시나리오에서 발생할 수 있는 충돌을 수정했습니다.
  • 상황에 맞는 메뉴가 화면 을 벗어나 표시할 수 있는 문제를 해결했습니다.
  • 창 스타일 및 최대화 동작 문제를 해결했습니다. 자세한 내용은 GitHub문제 #8996을 참조하세요.
  • 다른 컨트롤에서 예기치 않게 포커스를 잡을 수 있는 아일랜드 문제를 해결했습니다.
  • 에서 탭 순서와 관련된 문제를 해결했습니다 NavigationView.
  • 제목 표시줄의 맨 위에 흰색 막대가 표시될 수 있는 렌더링 문제가 해결되었습니다. 자세한 내용은 GitHub문제 #8947을 참조하세요.
  • 다양한 성능 수정.

Version 1.4.2 (1.4.231008000)

1.4 릴리스에 대한 중요한 버그 수정을 포함하는 Windows 앱 SDK의 서비스 릴리스입니다.

  • 과도한 메모리 및 개체 할당으로 인한 explorer.exe 충돌 문제를 해결했습니다.
  • 뒤로 단추가 제대로 작동하지 않는 제목 표시줄 상호 작용 문제를 해결했습니다.
  • 원본 파일에 대한 경고가 여러 번 포함되는 문제를 해결했습니다.
  • 상황에 맞는 메뉴 성능에 영향을 주는 문제를 해결했습니다.
  • 대상 .exe 항상 WindowsApps 폴더의 패키지에 대해 동일한 위치를 가리키는 .lnk 바로 가기 문제가 해결되었습니다.
  • 특정 글꼴에서 Indic 텍스트의 적절한 렌더링에 영향을 주는 DWriteCore 문제가 해결되었습니다.
  • List View에서 Tab/Shift + Tab으로 선택한 항목에 대한 적절한 키보드 탐색을 방해하는 문제를 수정했습니다.
  • ComboBox를 두 번째로 확장한 후 터치로 스크롤되는 ComboBox 항목을 중단하는 문제를 해결했습니다. 자세한 내용은 GitHub문제 #8831을 참조하세요.
  • WinAppSDK 패키지에 일부 언어에 대한 WinUI의 지역화된 리소스가 포함되지 않은 문제가 해결되었습니다.
  • 파일 탐색기 XAML에서 사용자의 기본 설정 언어를 표시하는 방법 간의 불일치가 수정되었습니다.
  • 파일 탐색기 현재 탭 아래에 얇은 선이 표시되는 장인정신 문제가 해결되었습니다.
  • 일부 프레임워크 제공 키보드 가속기가 제대로 지역화되지 않은 문제를 해결했습니다. 자세한 내용은 GitHub문제 #2023을 참조하세요.
  • 탭할 때 반복적으로 스크롤되는 RepeatButton 컨트롤 문제를 해결했습니다.
  • 적절한 리소스 버전 정보를 갖도록 WinAppSDK 설치 관리자 .exe 수정했습니다.

Version 1.4.1 (1.4.230913002)

1.4 릴리스에 대한 중요한 버그 수정을 포함하는 Windows 앱 SDK의 서비스 릴리스입니다.

  • 첫 번째 프레임까지의 시간을 개선하기 위한 성능 문제가 해결되었습니다.
  • 메뉴가 적용되지 RequestedTheme않는 문제가 해결되었습니다. 예를 들어 이 문제로 인해 흰색 배경에 흰색 텍스트가 표시되었을 수 있습니다. 자세한 내용은 GitHub문제 #8756을 참조하세요.
  • 일부 메뉴에서 아크릴 배경이 완전히 투명해지는 문제를 해결했습니다.
  • XAML로 인해 Windows가 데스크톱 배경 화면을 불필요하게 다시 그리는 문제가 해결되었습니다.
  • 이제 화살표 키 외에도 TAB을 사용하여 머리글과 항목 간을 탐색할 수 있도록 하는 지원 TabNavigation = LocalTabNavigation = CycleListViewGridView및 지원 및 지원이 수정되었습니다.
  • 도구 설명을 해제할 때 몇 가지 시끄러운 예외가 수정되었습니다. 자세한 내용은 GitHub문제 #8699을 참조하세요.

버전 1.4에 대한 새로운 기능 및 업데이트된 기능 및 알려진 문제

다음 섹션에서는 버전 1.4의 새로운 기능 및 업데이트된 기능과 알려진 문제에 대해 설명합니다.

기존 Windows App SDK 1.3 앱에서는 Nuget 패키지를 1.5.240227000으로 업데이트할 수 있습니다(NuGet 패키지 매니저를 사용하여 Visual Studio에 패키지 설치 및 관리패키지 업데이트 섹션 참조).

업데이트된 런타임 및 MSIX는 최신 Windows 앱 SDK 다운로드를 참조하세요.

사용자 지정 제목 표시줄 + AppWindow 타이틀 표시줄 병합

WinUI 3 사용자 지정 제목 표시줄은 Windows 앱 SDK 1.4의 내부적으로 NonClientInputPointerSource API와 함께 AppWindow 타이틀 모음 구현을 사용합니다. 따라서 두 타이틀바 구현은 이제 동일한 기능 및 제한 사항으로 동일한 방식으로 동작합니다. 이는 지원되는 모든 경우에서 완전히 이전 버전과 호환됩니다. 사용자 지정 정의 제목 표시줄이 있는 모든 앱은 이전과 같이 작동합니다. 하지만 이제 사용자 지정 제목 표시줄을 접하는 WinUI 3 개발자가 이러한 새로운 기능을 활용하여 이를 이해하고 사용할 수 있습니다.

  • 개발자가 타이틀바 요소를 구체적으로 정의하지 않는 더 나은 기본 시나리오(WinUI 2에서 대체 제목 표시줄 대체)
  • 제목 표시줄의 고유 끌기 영역을 사용하여 여러 끌기 영역을 만들고 비 클라이언트 영역(제목 표시줄 영역)의 모든 부분에 클릭 가능한 컨트롤을 배치할 수 있습니다.
  • 앱의 아무 곳에나 배치하거나 전체 앱을 끌 수 있는 앱 전체 끌기 가능 지역
  • 리소스 기반 테마를 대체하는 더 나은 테마 지원
    • 끌기 영역은 투명하므로 매번 앱 테마를 따릅니다.
  • 추가 사용자 지정: 최소, 최대 및 닫기 단추 숨기기; 제목 표시줄에 시스템 아이콘을 배치합니다. 또는 다른 지역이 NCHITTEST 응답을 받는 캡션 단추 역할을 하게 합니다.
  • 대부분의 시나리오에서 상위 수준 WinUI 3 API를 사용하지만 하위 수준 제어를 위해 혼합된 AppWindow API를 사용하는 등 AppWindow 타이틀 모음 API를 혼합하고 일치시킬 수 있는 개발자의 자유도 증가

위젯들 업데이트

위젯 공급자가 구현하기 위해 IWidgetProvider2, IWidgetProviderAnalyticsIWidgetProviderErrors의 세 가지 새로운 인터페이스가 추가되었습니다. IWidgetProvider2 제공자는 사용자가 호출한 사용자 지정 작업에 응답할 수 있으며, 이는 제1자 위젯에서 사용할 수 있는 것과 동일합니다. 이 IWidgetProviderAnalyticsIWidgetProviderErrors 인터페이스는 제공자가 위젯에 대한 원격 측정을 수집하는 데 사용되며, 위젯에 대한 분석 및 실패 이벤트는 해당 위젯 제공자에게 전달됩니다. 이 WidgetCustomizationRequestedArgs, WidgetAnalyticsInfoReportedArgs, WidgetErrorInfoReportedArgs 클래스는 새로운 기능을 지원하기 위해 관련 정보를 전달하는 데 사용됩니다.

XAML Islands는 더 이상 실험적이 아닙니다.

XAML Islands 및 기본 ContentIslands 플랫폼은 더 이상 실험적이 아닙니다.

  • 현재 XAML Islands는 C++ 앱에서만 사용하도록 테스트됩니다. 이 릴리스에는 WPF 또는 WinForms에서 사용하기 위한 편리한 래퍼 요소가 포함되지 않습니다.
  • DesktopWindowXamlSource 및 관련 형식이 XAML Islands용 Microsoft.UI.Xaml.Hosting 네임스페이스에 추가되었습니다. XamlRoot.ContentIslandEnvironment 요소에 대한 기본 Island 정보에 액세스하는 데 도움이 되도록 가 추가되었습니다.
  • Microsoft.UI.Content 네임스페이스 및 Microsoft.UI.Input 네임스페이스에 XAML Islands에 대한 기본 지원 또는 XAML 없이 이 ContentIslands 기능을 사용하기 위한 많은 새로운 형식이 도입되었습니다.
  • Island 시나리오에 대한 Microsoft.UI.Input.DragDrop 네임스페이스에 새로운 DragDropManager (관련 형식 포함)이 추가되었습니다.

ItemsView

이 클래스와 해당 구체적인 ItemsView 클래스라는 새 목록 컨트롤이 ItemContainer 도입되었습니다. ItemContainer 는 원하는 콘텐츠를 쉽게 래핑하고 컬렉션 제어 시나리오에 사용할 ItemsView 수 있는 기본 제공 선택 상태 및 시각적 개체가 있는 경량 컨테이너입니다.

  • ItemsView 컨트롤에 데이터 컬렉션이 표시됩니다. ItemsViewListViewGridView 컨트롤과 유사하지만 ItemsRepeater, ScrollView, ItemContainerItemCollectionTransitionProvider 구성 요소를 사용하여 구축됩니다. 사용자 지정 Layout 또는 ItemCollectionTransitionProvider 구현을 연결하는 고유한 기능을 제공합니다. 또 다른 주요 이점은 항목 선택을 유지하면서 즉석에서 레이아웃을 전환하는 기능입니다. 내부 ScrollView 컨트롤은 프로그래밍 스크롤 중 애니메이션을 제어하는 기능과 같은 ListView/GridViewScrollViewer 컨트롤에서 사용할 수 없는 기능도 제공합니다.
    • ItemsRepeater의 새 ItemTransitionProvider 속성(및 새 ItemsView 컨트롤)을 사용하면 해당 컨트롤의 전환 애니메이션을 제어할 ItemCollectionTransitionProvider 개체를 지정할 수 있습니다. CreateDefaultItemTransitionProvider 또한 컨트롤에 Layout명시적으로 제공하지 않는 경우 레이아웃 개체가 대체 전환을 제공할 수 있도록 하는 메서드가 ItemsView 추가되었습니다.
    • 항목의 레이아웃 방향(있는 경우)이 원본 컬렉션의 인덱스 기반이 되는 위치에 대한 새 IndexBasedLayoutOrientation 속성 Layout 입니다. 기본값은 IndexBasedLayoutOrientation.None입니다. 사용자 지정 레이아웃은 새(보호된) SetIndexBasedLayoutOrientation 메서드를 호출하여 이 속성을 설정합니다.
    • VisibleRect 속성은 VirtualizingLayoutContext 연결된 뷰포트 내의 표시되는 뷰포트 사각형을 FrameworkElementLayout가져옵니다. 보호된 가상 VirtualizingLayoutContext.VisibleRectCore 메서드를 재정의하여 속성에서 VisibleRect 반환되는 값을 제공할 수 있습니다.
  • LinedFlowLayout 클래스는 일반적으로 컬렉션 컨트롤의 항목을 배치하는 ItemsView 데 사용됩니다. 그림 컬렉션을 표시하는 데 특히 유용합니다. 이렇게 하려면 왼쪽에서 오른쪽으로, 위쪽에서 아래쪽으로 높이가 같은 줄로 배치합니다. 그림이 가로 선을 채운 다음 다음 줄로 줄 바꿈합니다. 그림이 왼쪽 가장자리와 오른쪽 가장자리에서 잘려서 선에 맞을 수 있습니다. 또한 스트레칭 모드를 사용할 때 가로로 확장하고 위쪽 및 아래쪽 가장자리에서 잘라 선을 채울 수 있습니다.

WinAppSDK의 새로운 기능

  • Win32 WinRT 앱이 UWP의 Accessibility Settings 클래스와 유사하게 시스템의 High Contrast 설정이 변경된 시점을 감지할 수 있는 새로운 ThemeSettings 클래스입니다. 자세한 내용은 GitHub의 ThemeSettings API spec를 참조하십시오.
  • AccessKeyManager.EnterDisplayMode 는 제공된 루트의 현재 포커스가 있는 요소에 대한 액세스 키를 표시하는 새로운 메서드입니다. 액세스 키는 그림판 Alt 키를 눌러 컨트롤에 해당하는 키를 표시하는 등 명령을 호출하는 키 팁을 표시할 때 "표시 모드"에 있습니다. 이 메서드를 사용하면 프로그래밍 방식으로 표시 모드를 입력할 수 있습니다.
  • Application.ResourceManagerRequested 에서는 기본값 IResourceManager 이 작동하지 않는 경우 시나리오에 대한 리소스 URI를 확인하는 다른 ResourceManager 메커니즘을 제공합니다. 자세한 내용은 GitHub의 Application.ResourceManagerRequested API 사양 을 참조하세요.
  • WebView2 SDK 버전은 1661.34에서 1823.32로 업데이트되었습니다.
  • Popup/FlyoutBase.IsConstrainedToRootBounds = false 는 이제 지원되므로 팝업/플라이아웃이 부모 창의 범위를 벗어나 확장할 수 있습니다. SystemBackdrop 이러한 제한되지 않은 팝업에 아크릴이 있는 것을 지원하기 위해 이러한 형식에 속성이 추가되었습니다. 기본적으로 메뉴에는 아크릴이 있는 데 사용합니다.
  • DesktopAcrylicController, MicaControllerClosed, FrameworkClosed, IsClosed을(를) 추가하여 객체/스레드 정지 시 취급성을 개선하였습니다.
  • DesktopAcrylicController.Kind 이제 일부 표준 아크릴 모양 중에서 선택하도록 설정할 수 있습니다.
  • DispatcherQueue 에는 더 잘 구성된 종료를 용이하게 하고 아일랜드를 사용하는 앱이 표준 지원 이벤트 루프를 쉽게 실행할 수 있도록 몇 가지 새로운 이벤트 및 도우미가 있습니다.
  • InputNonClientPointerSource Microsoft.UI.Input 네임스페이스에서 사용자 지정 제목 표시줄 시나리오를 사용하여 비 클라이언트 영역 영역을 정의할 수 있습니다. 코드는 해당 지역에 대한 가리키기 및 클릭 이벤트와 같은 해당 이벤트에 등록할 수 있습니다.
  • AppWindow 에는 새 도우미를 가져와서 연결할 수 있는 도우미가 있습니다 DispatcherQueue.
  • TreeView.SelectionChanged 이벤트를 사용하면 사용자 또는 코드 숨김이 컨트롤에서 선택한 노드 집합을 변경할 때 개발자가 응답할 수 있습니다 TreeView .
  • ScrollView 컨트롤은 .에 대한 새로운 대안을 ScrollViewer제공합니다. 이 새 컨트롤은 동작 및 API에서 기존 ScrollViewer 컨트롤과 고도로 정렬되지만 애니메이션 기반 보기 변경과 같은 새로운 기능을 기반으로 InteractionTracker하며 전체 기능을 ItemsRepeater보장하도록 설계되었습니다. 더 유연한 ScrollViewer를 참조하세요 . 문제 #108 · 자세한 내용은 microsoft/microsoft-ui-xaml(github.com) 을 참조하세요. 을 비롯한 ScrollPresenter다양한 새 형식이 전체 ScrollView 모델의 일부입니다.
  • AnnotatedScrollBar 컨트롤은 항목의 큰 컬렉션을 탐색하는 쉬운 방법을 제공하여 일반 스크롤 막대의 기능을 확장합니다. 이는 표식 역할을 하는 레이블이 있는 클릭 가능한 레일을 통해 수행됩니다. 또한 클릭 가능한 레일을 마우스로 가리킬 때 도구 설명을 표시하여 스크롤 가능한 콘텐츠를 보다 세밀하게 이해할 수 있습니다.

알려진 문제

버그 수정

  • API를 호출하면 Microsoft.Windows.AppLifecycle.AppInstance.Restart("") 패키지되지 않은 앱이 충돌하는 문제가 해결되었습니다. 자세한 내용은 GitHub문제 #2792을 참조하세요.
  • 1.4-experimental1에서 도입된 설치 관리자 충돌 문제를 해결했습니다. 자세한 내용은 GitHub문제 #3760을 참조하세요.
  • TextBlock에서 텍스트 취소선이 제대로 제거되지 않는 문제를 해결했습니다. 자세한 내용은 GitHub문제 #1093을 참조하세요.
  • TabFocusNavigation이 "Once"로 설정된 패널에서 잘못된 Shift + Tab 탐색을 유발하는 문제를 해결했습니다. 자세한 내용은 GitHub 문제 #1363을 참조하세요.
  • 명명된 {x:Bind} XAML 컨트롤의 속성으로 제대로 작동하지 않는 C++/WinRT의 문제를 해결했습니다. 자세한 내용은 GitHub문제 #2721을 참조하세요.
  • 설정 DebugSettings.EnableFrameRateCounter = true으로 인한 WinUI Desktop 앱의 런타임 AccessViolation 문제가 해결되었습니다. 자세한 내용은 GitHub문제 #2835을 참조하세요.
  • 필요한 헤더를 XamlTypeInfo.g.cpp 포함하지 않는 문제를 해결했습니다. 자세한 내용은 GitHub문제 #4907을 참조하세요.
  • 동시 멀티 터치 및 마우스 입력으로 인한 충돌 문제를 해결했습니다. 자세한 내용은 GitHub문제 #7622을 참조하세요.
  • 마우스 위에 비활성 창의 스크롤을 사용하지 않도록 설정하는 시스템 설정이 적용될 때 활성 WinUI 3 앱 창이 스크롤되지 않는 문제를 해결했습니다. 자세한 내용은 GitHub문제 #8764을 참조하세요.
  • 서브클래스를 시도할 때 충돌이 해결되었습니다 MediaPlayerElement.
  • 에서 일부 크래시 및 메모리 누수 문제를 해결했습니다 TreeView.
  • 키보드를 사용하여 탐색할 때 발생할 수 있는 앱 중단 문제가 해결되었습니다 RadioButtons.
  • 키보드를 사용하여 .에서 탐색할 때 발생하는 충돌을 해결했습니다 PipsPager.
  • 설정 앱에서 "텍스트 크기" 접근성 설정을 사용하여 크기를 조정할 WebView2 콘텐츠를 수정했습니다.
  • 디스플레이가 꺼졌을 때 애니메이션이 실행 중일 때 발생할 수 있는 크래시가 수정되었습니다.
  • 첫 번째 레이아웃/렌더링에 10% 오버헤드를 추가하는 1.3에 도입된 성능 문제를 해결했습니다.