다음을 통해 공유


Windows 앱 SDK 1.4에 대한 미리 보기 채널 릴리스 정보

Important

미리 보기 채널은 프로덕션 환경에서 사용할 수 없으며 미리 보기 릴리스를 사용하는 앱은 Microsoft 스토어에 게시할 수 없습니다.

미리 보기 채널에는 개발 후반 단계에서 미리 보기 채널 기능이 있는 Windows 앱 SDK 릴리스가 포함되어 있습니다. 미리 보기 릴리스에는 실험적 기능 및 API가 포함되지 않지만 다음 안정적인 릴리스 이전에도 호환성이 손상되는 변경이 발생할 수 있습니다.

중요 링크:

최신 미리 보기 채널 릴리스:

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

버전 1.4 미리 보기 2(1.4.0-preview2)

버전 1.4용 미리보기 채널의 최신 릴리스입니다.

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

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

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 업데이트

버전 1.4-preview1에서 도입된 새 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의 새로운 기능 및 업데이트

  • 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 컨트롤은 항목의 큰 컬렉션을 탐색하는 쉬운 방법을 제공하여 일반 스크롤 막대의 기능을 확장합니다. 이는 표식 역할을 하는 레이블이 있는 클릭 가능한 레일을 통해 수행됩니다. 또한 클릭 가능한 레일을 마우스로 가리킬 때 도구 설명을 표시하여 스크롤 가능한 콘텐츠를 보다 세밀하게 이해할 수 있습니다.

New APIs in 1.4.0-preview2

버전 1.4-preview2에는 이전 1.4-preview1 릴리스와 비교하여 다음과 같은 새로운 API가 포함되어 있습니다:

Microsoft.UI
 
    ClosableNotifierHandler
    IClosableNotifier
Microsoft.UI.Composition.SystemBackdrops
 
    DesktopAcrylicController
        Closed
        FrameworkClosed
        IsClosed
        Kind
 
    DesktopAcrylicKind
    MicaController
        Closed
        FrameworkClosed
        IsClosed
Microsoft.UI.Content
 
    ContentCoordinateConverter
    ContentCoordinateRoundingMode
    ContentDeferral
    ContentEnvironmentSettingChangedEventArgs
    ContentEnvironmentStateChangedEventArgs
    ContentIsland
    ContentIslandAutomationProviderRequestedEventArgs
    ContentIslandEnvironment
    ContentIslandStateChangedEventArgs
    ContentLayoutDirection
    ContentSite
    ContentSiteEnvironment
    ContentSiteEnvironmentView
    ContentSiteRequestedStateChangedEventArgs
    ContentSiteView
    ContentSizePolicy
    DesktopChildSiteBridge
    DesktopSiteBridge
    IContentSiteBridge
Microsoft.UI.Dispatching
 
    DispatcherExitDeferral
    DispatcherQueue
        EnqueueEventLoopExit
        EnsureSystemDispatcherQueue
        FrameworkShutdownCompleted
        FrameworkShutdownStarting
        RunEventLoop
        RunEventLoop
 
    DispatcherQueueController
        ShutdownQueue
 
    DispatcherRunOptions
Microsoft.UI.Input
 
    CharacterReceivedEventArgs
    ContextMenuKeyEventArgs
    FocusChangedEventArgs
    InputActivationListener
        GetForIsland
 
    InputFocusChangedEventArgs
    InputFocusController
    InputKeyboardSource
        CharacterReceived
        ContextMenuKey
        GetCurrentKeyState
        GetForIsland
        GetKeyState
        KeyDown
        KeyUp
        SystemKeyDown
        SystemKeyUp
 
    InputNonClientPointerSource
    InputPointerSource
        GetForIsland
 
    InputPreTranslateKeyboardSource
    KeyEventArgs
    NonClientCaptionTappedEventArgs
    NonClientPointerEventArgs
    NonClientRegionKind
    NonClientRegionsChangedEventArgs
    PhysicalKeyStatus
    VirtualKeyStates
Microsoft.UI.Input.DragDrop
 
    DragDropManager
    DragDropModifiers
    DragInfo
    DragOperation
    DragUIContentMode
    DragUIOverride
    DropOperationTargetRequestedEventArgs
    IDropOperationTarget
Microsoft.UI.Windowing
 
    AppWindow
        AssociateWithDispatcherQueue
        Create
        DispatcherQueue
Microsoft.UI.Xaml
 
    XamlRoot
        ContentIslandEnvironment
Microsoft.UI.Xaml.Automation.Peers
 
    ItemsViewAutomationPeer
Microsoft.UI.Xaml.Controls
 
    AnnotatedScrollBar
    AnnotatedScrollBarDetailLabelRequestedEventArgs
    AnnotatedScrollBarLabel
    AnnotatedScrollBarScrollingEventArgs
    AnnotatedScrollBarScrollingEventKind
    IndexBasedLayoutOrientation
    ItemCollectionTransition
    ItemCollectionTransitionCompletedEventArgs
    ItemCollectionTransitionOperation
    ItemCollectionTransitionProgress
    ItemCollectionTransitionProvider
    ItemCollectionTransitionTriggers
    ItemsRepeater
        ItemTransitionProvider
        ItemTransitionProviderProperty
 
    ItemsView
    ItemsViewItemInvokedEventArgs
    ItemsViewSelectionChangedEventArgs
    ItemsViewSelectionMode
    Layout
        CreateDefaultItemTransitionProvider
        IndexBasedLayoutOrientation
        SetIndexBasedLayoutOrientation
 
    LinedFlowLayout
    LinedFlowLayoutItemCollectionTransitionProvider
    LinedFlowLayoutItemsInfoRequestedEventArgs
    LinedFlowLayoutItemsJustification
    LinedFlowLayoutItemsStretch
    ScrollingAnchorRequestedEventArgs
    ScrollingAnimationMode
    ScrollingBringingIntoViewEventArgs
    ScrollingChainMode
    ScrollingContentOrientation
    ScrollingInputKinds
    ScrollingInteractionState
    ScrollingRailMode
    ScrollingScrollAnimationStartingEventArgs
    ScrollingScrollBarVisibility
    ScrollingScrollCompletedEventArgs
    ScrollingScrollMode
    ScrollingScrollOptions
    ScrollingSnapPointsMode
    ScrollingZoomAnimationStartingEventArgs
    ScrollingZoomCompletedEventArgs
    ScrollingZoomMode
    ScrollingZoomOptions
    ScrollView
    TreeView
        SelectionChanged
 
    TreeViewSelectionChangedEventArgs
    VirtualizingLayoutContext
        VisibleRect
        VisibleRectCore
Microsoft.UI.Xaml.Controls.Primitives
 
    FlyoutBase
        SystemBackdrop
        SystemBackdropProperty
 
    IScrollController
    IScrollControllerPanningInfo
    Popup
        SystemBackdrop
        SystemBackdropProperty
 
    RepeatedScrollSnapPoint
    RepeatedZoomSnapPoint
    ScrollControllerAddScrollVelocityRequestedEventArgs
    ScrollControllerPanRequestedEventArgs
    ScrollControllerScrollByRequestedEventArgs
    ScrollControllerScrollToRequestedEventArgs
    ScrollPresenter
    ScrollSnapPoint
    ScrollSnapPointBase
    ScrollSnapPointsAlignment
    SnapPointBase
    ZoomSnapPoint
    ZoomSnapPointBase
Microsoft.UI.Xaml.Hosting
 
    DesktopWindowXamlSource
    DesktopWindowXamlSourceGotFocusEventArgs
    DesktopWindowXamlSourceTakeFocusRequestedEventArgs
    WindowsXamlManager
    XamlSourceFocusNavigationReason
    XamlSourceFocusNavigationRequest
    XamlSourceFocusNavigationResult

버전 1.4 미리 보기 1 (1.4.0-preview1)

버전 1.4용 미리보기 채널의 최신 릴리스입니다.

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

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

위젯들 업데이트

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

WinAppSDK의 새로운 기능

  • Win32 WinRT 앱이 UWP의 Accessibility Settings 클래스와 유사하게 시스템의 High Contrast 설정이 변경된 시점을 감지할 수 있는 새로운 ThemeSettings 클래스입니다. 자세한 내용은 GitHub의 ThemeSettings API spec를 참조하십시오.
  • Popup/FlyoutBase.ShouldConstrainToRootBounds 는 이제 도구 설명, 메뉴 및 기타 팝업이 기본 창의 범위를 벗어나 확장할 수 있도록 지원됩니다. 미리 보기 1은 아직 팝업/플라이아웃에서 아크릴 또는 다른 SystemBackdrops를 완전히 지원하지 않습니다. 이에 대한 추가 API 및 구현은 다음 1.4 릴리스에 포함됩니다.
  • AccessKeyManager.EnterDisplayMode 는 제공된 루트의 현재 포커스가 있는 요소에 대한 액세스 키를 표시하는 새로운 메서드입니다. 액세스 키는 그림판 Alt 키를 눌러 컨트롤에 해당하는 키를 표시하는 등 명령을 호출하는 키 팁을 표시할 때 "표시 모드"에 있습니다. 이 메서드를 사용하면 프로그래밍 방식으로 표시 모드를 입력할 수 있습니다.
  • Application.ResourceManagerRequested 에서는 기본값 IResourceManager 이 작동하지 않는 경우 시나리오에 대한 리소스 URI를 확인하는 다른 ResourceManager 메커니즘을 제공합니다. 자세한 내용은 GitHub의 Application.ResourceManagerRequested API 사양 을 참조하세요.
  • 이 클래스와 해당 구체적인 ItemsView 클래스라는 새 목록 컨트롤이 ItemContainer 도입되었습니다. ItemContainer 는 원하는 콘텐츠를 쉽게 래핑하고 컬렉션 제어 시나리오에 사용할 ItemsView 수 있는 기본 제공 선택 상태 및 시각적 개체가 있는 경량 컨테이너입니다. ItemsView 는 아직 미리 보기 1에서 실험적으로 표시되어 있지만 다음 1.4 릴리스에 포함됩니다.
  • WebView2 SDK 버전은 1661.34에서 1823.32로 업데이트되었습니다.

1.4.0-preview1의 새 API

버전 1.4-preview1에는 안정적인 1.3 릴리스와 비교하여 다음과 같은 새로운 API가 포함되어 있습니다.

Microsoft.UI.System
 
    ThemeSettings
Microsoft.UI.Xaml
 
    Application
        ResourceManagerRequested
 
    ResourceManagerRequestedEventArgs
Microsoft.UI.Xaml.Automation.Peers
 
    ItemContainerAutomationPeer
Microsoft.UI.Xaml.Controls
 
    ItemContainer
Microsoft.UI.Xaml.Controls.Primitives
 
    CommandBarFlyoutCommandBar
        SystemBackdrop
        SystemBackdropProperty
Microsoft.UI.Xaml.Input
 
    AccessKeyManager
        EnterDisplayMode
Microsoft.Web.WebView2.Core
 
    CoreWebView2
        LaunchingExternalUriScheme
        MemoryUsageTargetLevel
 
    CoreWebView2File
    CoreWebView2LaunchingExternalUriSchemeEventArgs
    CoreWebView2MemoryUsageTargetLevel
    CoreWebView2PermissionKind
        WindowManagement
 
    CoreWebView2Profile
        CookieManager
        IsGeneralAutofillEnabled
        IsPasswordAutosaveEnabled
 
    CoreWebView2Settings
        IsReputationCheckingRequired
 
    CoreWebView2WebMessageReceivedEventArgs
        AdditionalObjects
Microsoft.Windows.Widgets.Providers
 
    IWidgetProvider2
    IWidgetProviderAnalytics
    IWidgetProviderErrors
    WidgetAnalyticsInfoReportedArgs
    WidgetCustomizationRequestedArgs
    WidgetErrorInfoReportedArgs