title | description | ms.topic | ms.date | keywords | ms.localizationpriority |
---|---|---|---|---|---|
Breaking changes in the Windows App SDK | If you're migrating an app to Windows App SDK 1.0 from 0.8, the breaking changes listed here might affect you. Changes are grouped by technology area, such as input and MRT Core. | article | 04/19/2024 | windows, windows app development, Windows App SDK | medium |
If you're migrating an app to Windows App SDK 1.0 from Project Reunion 0.8, the breaking changes listed here might affect you. Changes are grouped by technology area, such as input and MRT Core.
- No access to experimental types | API change |
- Stable Microsoft.UI.Input.PointerPoint added. It replaces Microsoft.UI.Input.Experimental.ExpPointerPoint.
- PointerPoint now references Microsoft.UI.Input enums and structs instead of Windows.UI.* enums and structs (for example, IPointerPointTransform, PointerUpdateKind, PointerDeviceType).
- PointerPoint is now fully agile.
- PointerPoint static functions GetCurrentPoint, GetCurrentPointTransformed, GetIntermediatePoints, and GetIntermediatePointsTransformed removed. They are replaced by member functions on PointerPoint and PointerEventArgs.
- New GetTransformedPoint method.
- Removed ContactRectRaw from PointerPointProperties.
- Removed RawPosition properties.
- Stable Microsoft.UI.Input.PointerEventArgs added. It replaces Microsoft.UI.Input.Internal.ExpPointerEventArgs).
- New GetIntermediateTransformedPoints method.
- Stable Microsoft.UI.Input.GestureRecognizer added. It replaces Microsoft.UI.Input.Experimental.ExpGestureRecognizer. References Microsoft.UI.Input enums, structs, and classes instead of Windows.UI.Input.* and Windows.UI.Core.* types (for example, GestureSettings, ManipulationDelta, TappedEventArgs).
- Public stable InputCursor, InputSystemCursor, and InputDesktopResourceCursor added. This replaces previous references to Windows.UI.Core.CoreCursor in the 0.8 API surface.
- Public stable InputPointerSource added – this is returned from the XAML SwapChainPanel class instead of the previous experimental Microsoft.UI.Input.Experimental.ExpIndependentPointerInputObserver class.
- References Microsoft.UI.Input.InputCursor instead of Windows.UI.Core.CoreCursor.
- References Microsoft.UI.Input structs, enums, and types instead of Windows.UI.* types, such as PointerEventArgs and InputPointerSourceDeviceKinds).
- Type is no longer explicitly closeable.
- Microsoft.UI.Input.KeyboardInput renamed to Microsoft.UI.Input.InputKeyboardSource.
- Underlying input system infrastructure upgraded to use an independent message queue for processing.
- Supports low-latency off-UI-thread input such as inking.
- Fully supports lifted interaction tracker APIs such as Microsoft.UI.Composition.VisualInteractionSource (and others).
- Fully supports hover input for off-thread input delivery (this was a limitation in 0.8).
- System input messages, such as WM_POINTERDOWN, are no longer visible through Win32 APIs on the UI thread as they are routed to an independent message queue inside the infrastructure.
- PointerPoint is now agile and can be accessed on any thread.
- PointerPoint objects can no longer be constructed statically from a pointer ID.
- XAML-based drag and drop operations fully support mouse, touch, and pen input (0.8 used pen-to-mouse downleveling).
- Direct use of Windows.ApplicationModel.DataTransfer.DragDrop.Core.CoreDragOperation will no longer work on the UI thread. XAML drag and drop must be used instead.
MRT Core APIs have moved from the Microsoft.ApplicationModel.Resources namespace to the Microsoft.Windows.ApplicationModel.Resources namespace.