From 338c1ff9a16898f61bbdfc82b10eb9c00c181915 Mon Sep 17 00:00:00 2001 From: Deondre Davis Date: Fri, 25 Jun 2021 15:48:23 -0700 Subject: [PATCH] Squashed commit of the following: commit 7b637bdf12299f628e78fa7598d92c48d6a49fb3 Merge: 11d6a093d 6eab0afb3 Author: McLean Schofield <11544635+mcleanbyron@users.noreply.github.com> Date: Tue Jun 22 09:22:46 2021 -0700 Merge pull request #3183 from asklar/patch-5 Update host-standard-control-with-xaml-islands-cpp.md commit 6eab0afb3d41371448a05a7c20930c42093ff342 Author: McLean Schofield <11544635+mcleanbyron@users.noreply.github.com> Date: Tue Jun 22 09:22:20 2021 -0700 Another minor edit commit 527ad0b66b632d312fcec6d247dd445b76b1d369 Author: McLean Schofield <11544635+mcleanbyron@users.noreply.github.com> Date: Tue Jun 22 09:19:07 2021 -0700 Minor edit commit 11d6a093d6f5d9441d2696accf51965dbe7d841a Merge: 5e5beaffb bf518c386 Author: KB Date: Tue Jun 22 08:58:01 2021 -0700 Merge pull request #3182 from asklar/patch-4 Update conditional-xaml.md commit c8259142a2d2d904ed36225ca5dee51abbf04ee9 Author: Alexander Sklar Date: Tue Jun 22 08:46:07 2021 -0700 Update host-standard-control-with-xaml-islands-cpp.md commit bf518c3864c7aa095dcddc33a0bb727253471b6a Author: Alexander Sklar Date: Mon Jun 21 23:18:37 2021 -0700 Update conditional-xaml.md commit 5e5beaffbfdfa6129c19b23aac4fcf7f37aff00c Author: KB Date: Sat Jun 19 11:16:14 2021 -0700 gitissue-3179-link (#1630) commit c47981f566b058c69f8e5b40d2d582cd10b60a1b Author: McLean Schofield <11544635+mcleanbyron@users.noreply.github.com> Date: Thu Jun 17 12:54:59 2021 -0700 Updated program name (#1621) commit 1ee80a3f51cdc5926d65b298b2a9773efa620a3e Merge: d7027babb 690b0139d Author: Kristine Toliver Date: Wed Jun 16 14:06:54 2021 -0700 Merge pull request #3165 from martingbrown/patch-1 Update navigation-history-and-backwards-navigation.md commit d7027babb1dc94bc773f104ca3db895832117844 Merge: b2f642e09 d1636501f Author: Kristine Toliver Date: Wed Jun 16 10:02:20 2021 -0700 Merge pull request #3175 from nxtn/patch-1 Update optimize-gridview-and-listview.md commit d1636501f41a2aa4f38a8568a9f74c77f1f25c51 Author: Next Turn <45985406+nxtn@users.noreply.github.com> Date: Wed Jun 16 17:10:44 2021 +0800 Update optimize-gridview-and-listview.md commit 690b0139de19e09a8b54a40171c74a2ad57bb7d6 Author: Martin Brown <5264795+martingbrown@users.noreply.github.com> Date: Tue Jun 15 21:44:32 2021 +0100 Update navigation-history-and-backwards-navigation.md Removed the e.Handled check. commit b2f642e09cf2c047d9cd142bae1eee960cd39ce1 Author: McLean Schofield <11544635+mcleanbyron@users.noreply.github.com> Date: Mon Jun 14 14:39:38 2021 -0700 Doc updates for 0.8 RC (#1588) commit b51f3f6ce3aadcaa77ecf337922f41a4031279cb Merge: 371024d22 20c65460a Author: Kristine Toliver Date: Thu Jun 10 11:44:39 2021 -0700 Merge pull request #3168 from martingbrown/patch-2 Update commanding-basics.md commit 371024d221871de6491365f171bc533a4256fa7a Author: McLean Schofield <11544635+mcleanbyron@users.noreply.github.com> Date: Thu Jun 10 11:41:36 2021 -0700 Fixed warnings and suggestions (#1602) commit 27209686fa7932e993887e15fa4a011181c316de Author: McLean Schofield <11544635+mcleanbyron@users.noreply.github.com> Date: Thu Jun 10 11:28:36 2021 -0700 Added interop COM interface links (#1601) * Added interop COM interface links * Removed spurious "instead" instances commit 20c65460ac7e29c1c1af2fa275743b8198b6c353 Author: Martin Brown <5264795+martingbrown@users.noreply.github.com> Date: Thu Jun 10 18:58:08 2021 +0100 Update commanding-basics.md Trivial grammar issue. commit 4af42fb32da7c07b6e70df9448a9efb14b00bb57 Author: Steven White Date: Wed Jun 9 17:09:12 2021 -0700 updating links (#1600) commit 1d29d3aa6f604ca5cf63c16230e6037da3fe269c Author: Matt Wojciakowski Date: Wed Jun 9 16:52:47 2021 -0700 Add Win dev tool section (#1599) * Add Win dev tool section * formatting * formatting 2 commit b257a6f1ff703d2b6d2f0b36abc1d562b1fb6c2d Author: John Kennedy Date: Wed Jun 9 15:30:22 2021 -0700 Jken whatsnewjune (#1598) * Latest updates to docs for June * Latest updates to docs for June * updated date commit 486b4eb4dcf965ffc1bbb1f7fbbd7b8b6e93e69e Author: John Kennedy Date: Wed Jun 9 15:21:30 2021 -0700 Latest updates to docs for June (#1597) * Latest updates to docs for June * Latest updates to docs for June commit eebde75d10b0ce473e6c7b08e94ece1ecc22c0f8 Merge: f2dacc2bf cd0b6e371 Author: Dennis Rea Date: Wed Jun 9 12:33:57 2021 -0700 Merge pull request #1594 from v-kents/ks-linkfix-202106 Linkfix: Windows UWP (2021-06) commit d76dbb0fd3903b551372c0bcc848f96aa207f808 Author: Martin Brown <5264795+martingbrown@users.noreply.github.com> Date: Tue Jun 8 22:18:40 2021 +0100 Update navigation-history-and-backwards-navigation.md Change the code examples for handling mouse back and forward buttons to move back and forward if the event has not already been handled. commit f2dacc2bf75e682e98689f635feb0a0cf7fe25c4 Merge: 2fa0d3878 a90ce95ff Author: Shannon Leavitt Date: Tue Jun 8 14:37:09 2021 -0600 Merge pull request #1596 from atikmapari/FAQ-YML-Conversion-stwhi FAQ .md file converted into YML commit 2fa0d3878f27a425d252aecb5dbc6b827214a26a Merge: 676080c19 cfee4e28d Author: QuinnRadich Date: Tue Jun 8 19:15:48 2021 +0000 Merging changes synced from https://github.com/MicrosoftDocs/windows-uwp-pr (branch live) commit cfee4e28d63dfbd9fff461a291c95ae51a3dc888 Merge: 477a42d3f 9d3a499cc Author: Dennis Rea Date: Tue Jun 8 12:12:45 2021 -0700 Merge pull request #1583 from v-hearya/FAQ-YML-Conversion-kbridge FAQ converted into yml commit a90ce95ff52d6da9f854bdf8cfa0438876506c82 Author: Atik Mapari (Lionbridge Technologies Inc) Date: Wed Jun 9 00:01:26 2021 +0530 changes fixed commit 676080c19d2667bd8c5ccdf4fc2c78434af44730 Merge: 477a42d3f 1bad06f4b Author: Kristine Toliver Date: Tue Jun 8 07:58:20 2021 -0700 Merge pull request #3160 from Jaiganeshkumaran/patch-1 Update navigationview.md commit cd0b6e3711831257f7ddfb1e0270e2d8b2c8ac06 Author: Kent Sharkey Date: Mon Jun 7 14:13:04 2021 -0700 Linkfix: Windows UWP (2021-06) commit 1bad06f4b47ebadc07b99483c553a1bff9af9a94 Author: Jaiganesh Kumaran Date: Sun Jun 6 18:42:42 2021 +0530 Update navigationview.md commit 477a42d3fef0fce3de286604a97901ae9e3750ce Merge: 2a1f2f7ff df03f58e5 Author: Matt Wojciakowski Date: Fri Jun 4 12:29:48 2021 -0700 Merge pull request #3134 from v-mepa/update_page_tittle_and_meta_tag SEO: Update_page_tittle_and_meta_tag commit df03f58e51f1024ccd504d14960ee965d6b5f45d Author: Matt Wojciakowski Date: Fri Jun 4 12:28:48 2021 -0700 Title updates commit 2a1f2f7ff1967fd180f88ad7fd126e09dc081ad2 Merge: 139f62c3f d7354d6c0 Author: lastnameholiu <55564399+lastnameholiu@users.noreply.github.com> Date: Fri Jun 4 11:57:22 2021 -0700 Merge pull request #3147 from quentin987/patch-1 Update launch-screen-snipping.md commit 9d3a499cc25fcd8301c8feae568e4ac0a1ecb79e Author: v-hearya Date: Tue Jun 1 03:08:25 2021 +0530 FAQ converted into yml commit d7354d6c06700ffaa7381bf8fab2222169196131 Author: Quentin Al-Timimi <27322516+quentin987@users.noreply.github.com> Date: Fri May 28 11:10:29 2021 -0700 Update launch-screen-snipping.md Added support for new parameter recently, updating documentation to reflect it. commit 12a38f748e32f268d1a5b3c973330fc87e079d6c Author: Meenal Patel (CSI Interfusion Inc) Date: Fri May 21 11:44:22 2021 -0700 update --- .../modernize/desktop-to-uwp-supported-api.md | 16 +- ...-standard-control-with-xaml-islands-cpp.md | 6 +- hub/apps/desktop/modernize/index.md | 2 +- hub/apps/project-reunion/preview-channel.md | 12 +- hub/apps/project-reunion/release-channels.md | 24 +- hub/apps/project-reunion/stable-channel.md | 35 ++- ...existing-projects-to-the-latest-release.md | 47 +-- hub/apps/trace-processing/reference.md | 2 +- hub/apps/whats-new/build2021-docs.md | 24 +- hub/apps/whats-new/latest-doc-updates.md | 297 +++++++++++++----- hub/dev-environment/index.md | 2 +- hub/dev-environment/javascript/index.md | 10 +- .../rust/rss-reader-rust-for-windows.md | 2 +- .../composition/composition-lighting.md | 2 +- .../net-projection-from-cppwinrt-component.md | 2 +- .../debug-test-perf/conditional-xaml.md | 2 +- .../optimize-gridview-and-listview.md | 4 +- .../design/basics/commanding-basics.md | 2 +- ...gation-history-and-backwards-navigation.md | 32 +- .../controls-and-patterns/navigationview.md | 2 +- .../design/globalizing/globalizing-portal.md | 2 +- .../globalizing/mat-faq-troubleshooting.md | 176 ----------- .../globalizing/mat-faq-troubleshooting.yml | 206 ++++++++++++ windows-apps-src/design/style/reveal-focus.md | 6 +- windows-apps-src/design/toc.yml | 2 +- windows-apps-src/develop/toc.yml | 2 +- .../devices-sensors/bluetooth-dev-faq.md | 81 ----- .../devices-sensors/bluetooth-dev-faq.yml | 94 ++++++ windows-apps-src/devices-sensors/bluetooth.md | 2 +- .../devices-sensors/printing-and-scanning.md | 1 - .../gaming/directx-porting-faq.md | 132 -------- .../gaming/directx-porting-faq.yml | 109 +++++++ ...ng-your-directx-9-game-to-windows-store.md | 2 +- ...-to-11-1-part-3--viewport-and-game-loop.md | 2 +- windows-apps-src/gaming/toc.yml | 2 +- .../launch-resume/launch-screen-snipping.md | 3 +- .../whats-new/windows-10-build-16299.md | 2 +- .../whats-new/windows-docs-july-2017.md | 2 +- 38 files changed, 749 insertions(+), 602 deletions(-) delete mode 100644 windows-apps-src/design/globalizing/mat-faq-troubleshooting.md create mode 100644 windows-apps-src/design/globalizing/mat-faq-troubleshooting.yml delete mode 100644 windows-apps-src/devices-sensors/bluetooth-dev-faq.md create mode 100644 windows-apps-src/devices-sensors/bluetooth-dev-faq.yml delete mode 100644 windows-apps-src/gaming/directx-porting-faq.md create mode 100644 windows-apps-src/gaming/directx-porting-faq.yml diff --git a/hub/apps/desktop/modernize/desktop-to-uwp-supported-api.md b/hub/apps/desktop/modernize/desktop-to-uwp-supported-api.md index 1542117bfc..993a26d57d 100644 --- a/hub/apps/desktop/modernize/desktop-to-uwp-supported-api.md +++ b/hub/apps/desktop/modernize/desktop-to-uwp-supported-api.md @@ -37,7 +37,7 @@ The following WinRT classes are not supported in desktop apps. | [CoreApplicationViewTitleBar](/uwp/api/windows.applicationmodel.core.coreapplicationviewtitlebar) | Instead of the [ExtendViewIntoTitleBar](/uwp/api/windows.applicationmodel.core.coreapplicationviewtitlebar.extendviewintotitlebar) property, use the [Window.ExtendsContentIntoTitleBar](/windows/winui/api/microsoft.ui.xaml.window.extendscontentintotitlebar) property provided by WinUI 3 instead. | | [CoreDispatcher](/uwp/api/Windows.UI.Core.CoreDispatcher) | Use the [Microsoft.UI.Xaml.Window.DispatcherQueue](/windows/winui/api/microsoft.ui.xaml.window.dispatcherqueue) property provided by WinUI 3 instead.

Note that the [Windows.UI.Xaml.Window.Dispatcher](/uwp/api/Windows.UI.Xaml.Window.Dispatcher) and [Windows.UI.Xaml.DependencyObject.Dispatcher](/uwp/api/Windows.UI.Xaml.DependencyObject.Dispatcher) properties return `null` in desktop apps. | | [CoreWindow](/uwp/api/Windows.UI.Core.CoreWindow) | Instead of the [GetKeyState](/uwp/api/windows.ui.core.corewindow.getkeystate) method, use the [KeyboardInput.GetKeyStateForCurrentThread](/windows/winui/api/microsoft.ui.input.keyboardinput.getkeystateforcurrentthread) method provided by WinUI 3 instead.

Instead of the [PointerCursor](/uwp/api/windows.ui.core.corewindow.pointercursor) property, use the [UIElement.ProtectedCursor](/windows/winui/api/microsoft.ui.xaml.uielement.protectedcursor) property provided by WinUI 3 instead. You'll need to have a subclass of [UIElement](/windows/winui/api/microsoft.ui.xaml.uielement) to access this property. | -| [UserActivity](/uwp/api/windows.applicationmodel.useractivities.useractivity) | Use the **IUserActivitySourceHostInterop** COM interface instead (in useractivityinterop.h). | +| [UserActivity](/uwp/api/windows.applicationmodel.useractivities.useractivity) | Use the [IUserActivitySourceHostInterop](/windows/win32/api/useractivityinterop/nn-useractivityinterop-iuseractivitysourcehostinterop) COM interface instead (in useractivityinterop.h). | ### Classes with GetForCurrentView methods @@ -50,17 +50,17 @@ The following classes are not supported in desktop apps because they have `GetFo | Class | Alternative APIs | |---------|-------------------| -| [AccountsSettingsPane](/uwp/api/windows.ui.applicationsettings.accountssettingspane) | Use the **IAccountsSettingsPaneInterop** COM interface instead (in accountssettingspaneinterop.h). | +| [AccountsSettingsPane](/uwp/api/windows.ui.applicationsettings.accountssettingspane) | Use the [IAccountsSettingsPaneInterop](/windows/win32/api/accountssettingspaneinterop/nn-accountssettingspaneinterop-iaccountssettingspaneinterop) COM interface instead (in accountssettingspaneinterop.h). | | [AppCapture](/uwp/api/windows.media.capture.appcapture) | None | | [BrightnessOverride](/uwp/api/windows.graphics.display.brightnessoverride) | None | | [ConnectedAnimationService](/uwp/api/windows.ui.xaml.media.animation.connectedanimationservice) | None | -| [CoreDragDropManager](/uwp/api/windows.applicationmodel.datatransfer.dragdrop.core.coredragdropmanager) | Use the **IDragDropManagerInterop** COM interface instead (in dragdropinterop.h). | +| [CoreDragDropManager](/uwp/api/windows.applicationmodel.datatransfer.dragdrop.core.coredragdropmanager) | Use the [IDragDropManagerInterop](/windows/win32/api/dragdropinterop/nn-dragdropinterop-idragdropmanagerinterop) COM interface instead (in dragdropinterop.h). | | [CoreInputView](/uwp/api/windows.ui.viewmanagement.core.coreinputview) | None | | [CoreTextServicesManager](/uwp/api/windows.ui.text.core.coretextservicesmanager) | This class is currently supported in desktop apps only in Windows Insider Preview builds. | | [CoreWindowResizeManager](/uwp/api/windows.ui.core.corewindowresizemanager) | None | | [DataTransferManager](/uwp/api/windows.applicationmodel.datatransfer.datatransfermanager) | Use the [IDataTransferManagerInterop](/windows/win32/api/shobjidl_core/nn-shobjidl_core-idatatransfermanagerinterop) COM interface instead (in shobjidl_core.h). | | [DisplayEnhancementOverride](/uwp/api/windows.graphics.display.displayenhancementoverride) | None | -| [DisplayInformation](/uwp/api/windows.graphics.display.displayinformation) | Instead of the [LogicalDpi](/uwp/api/windows.graphics.display.displayinformation.logicaldpi) property, use the [XamlRoot.RasterizationScale](/windows/winui/api/microsoft.ui.xaml.xamlroot.rasterizationscale) property instead and listen for changes on the [XamlRoot.Changed](/uwp/api/windows.ui.xaml.xamlroot.changed) event (the [XamlRoot.RasterizationScale](/windows/winui/api/microsoft.ui.xaml.xamlroot.rasterizationscale) property is provided in WinUI 3).

Instead of the [RawPixelsPerViewPixel](/uwp/api/windows.graphics.display.displayinformation.rawpixelsperviewpixel) property, use the [XamlRoot.RasterizationScale](/windows/winui/api/microsoft.ui.xaml.xamlroot.rasterizationscale) property provided by WinUI 3 instead. | +| [DisplayInformation](/uwp/api/windows.graphics.display.displayinformation) | Instead of the [LogicalDpi](/uwp/api/windows.graphics.display.displayinformation.logicaldpi) property, use the [XamlRoot.RasterizationScale](/windows/winui/api/microsoft.ui.xaml.xamlroot.rasterizationscale) property and listen for changes on the [XamlRoot.Changed](/uwp/api/windows.ui.xaml.xamlroot.changed) event (the [XamlRoot.RasterizationScale](/windows/winui/api/microsoft.ui.xaml.xamlroot.rasterizationscale) property is provided in WinUI 3).

Instead of the [RawPixelsPerViewPixel](/uwp/api/windows.graphics.display.displayinformation.rawpixelsperviewpixel) property, use the [XamlRoot.RasterizationScale](/windows/winui/api/microsoft.ui.xaml.xamlroot.rasterizationscale) property provided by WinUI 3. | | [EdgeGesture](/uwp/api/windows.ui.input.edgegesture) | None | | [GazeInputSourcePreview](/uwp/api/windows.devices.input.preview.gazeinputsourcepreview) | None | | [HdmiDisplayInformation](/uwp/api/windows.graphics.display.core.hdmidisplayinformation) | None | @@ -71,7 +71,7 @@ The following classes are not supported in desktop apps because they have `GetFo | [MouseDevice](/uwp/api/windows.devices.input.mousedevice) | None | | [PlayToManager](/uwp/api/windows.media.playto.playtomanager.getforcurrentview) | Use the [IPlayToManagerInterop](/windows/win32/api/playtomanagerinterop/nn-playtomanagerinterop-iplaytomanagerinterop) COM interface instead (in playtomanagerinterop.h). | | [PointerVisualizationSettings](/uwp/api/windows.ui.input.pointervisualizationsettings) | None | -| [Print3DManager](/uwp/api/windows.graphics.printing3d.print3dmanager) | Use the **IPrinting3DManagerInterop** COM interface instead (in print3dmanagerinterop.h). | +| [Print3DManager](/uwp/api/windows.graphics.printing3d.print3dmanager) | Use the [IPrinting3DManagerInterop](/windows/win32/api/print3dmanagerinterop/nn-print3dmanagerinterop-iprinting3dmanagerinterop) COM interface instead (in print3dmanagerinterop.h). | | [PrintManager](/uwp/api/windows.graphics.printing.printmanager) | Use the [IPrintManagerInterop](/windows/win32/api/printmanagerinterop/nn-printmanagerinterop-iprintmanagerinterop) COM interface instead (in printmanagerinterop.h). | | [ProtectionPolicyManager](/uwp/api/windows.security.enterprisedata.protectionpolicymanager) | None | | [RadialControllerConfiguration](/uwp/api/windows.ui.input.radialcontrollerconfiguration) | Use the [IRadialControllerConfigurationInterop](/windows/win32/api/radialcontrollerinterop/nn-radialcontrollerinterop-iradialcontrollerconfigurationinterop) COM interface instead (in radialcontrollerinterop.h). | @@ -80,11 +80,11 @@ The following classes are not supported in desktop apps because they have `GetFo | [SearchPane](/uwp/api/windows.applicationmodel.search.searchpane) | None | | [SettingsPane](/uwp/api/windows.ui.applicationsettings.settingspane) | None | | [SpatialInteractionManager](/uwp/api/windows.ui.input.spatial.spatialinteractionmanager) | Use the [ISpatialInteractionManagerInterop](/windows/win32/api/spatialinteractionmanagerinterop/nn-spatialinteractionmanagerinterop-ispatialinteractionmanagerinterop) COM interface instead (in spatialinteractionmanagerinterop.h). | -| [SystemMediaTransportControls](/uwp/api/windows.media.systemmediatransportcontrols) | Use the **ISystemMediaTransportControlsInterop** COM interface instead (in systemmediatransportcontrolsinterop.h). | +| [SystemMediaTransportControls](/uwp/api/windows.media.systemmediatransportcontrols) | Use the [ISystemMediaTransportControlsInterop](/windows/win32/api/systemmediatransportcontrolsinterop/nn-systemmediatransportcontrolsinterop-isystemmediatransportcontrolsinterop) COM interface instead (in systemmediatransportcontrolsinterop.h). | | [SystemNavigationManager](/uwp/api/windows.ui.core.systemnavigationmanager) | None | | [SystemNavigationManagerPreview](/uwp/api/windows.ui.core.preview.systemnavigationmanagerpreview) | None | -| [UserActivityRequestManager](/uwp/api/windows.applicationmodel.useractivities.useractivityrequestmanager) | Use the **IUserActivityRequestManagerInterop** COM interface insead (in useractivityinterop.h). | -| [UIViewSettings](/uwp/api/windows.ui.viewmanagement.uiviewsettings) | Use the **IUIViewSettingsInterop** COM interface instead (in uiviewsettingsinterop.h). | +| [UserActivityRequestManager](/uwp/api/windows.applicationmodel.useractivities.useractivityrequestmanager) | Use the [IUserActivityRequestManagerInterop](/windows/win32/api/useractivityinterop/nn-useractivityinterop-iuseractivityrequestmanagerinterop) COM interface insead (in useractivityinterop.h). | +| [UIViewSettings](/uwp/api/windows.ui.viewmanagement.uiviewsettings) | Use the [IUIViewSettingsInterop](/windows/win32/api/uiviewsettingsinterop/nn-uiviewsettingsinterop-iuiviewsettingsinterop) COM interface instead (in uiviewsettingsinterop.h). | | [WebAuthenticationBroker](/uwp/api/Windows.Security.Authentication.Web.WebAuthenticationBroker) | None. for more details, see [this GitHub issue](https://github.com/microsoft/ProjectReunion/issues/398). | ### Unsupported members diff --git a/hub/apps/desktop/modernize/host-standard-control-with-xaml-islands-cpp.md b/hub/apps/desktop/modernize/host-standard-control-with-xaml-islands-cpp.md index 34e24b506d..090996ca38 100644 --- a/hub/apps/desktop/modernize/host-standard-control-with-xaml-islands-cpp.md +++ b/hub/apps/desktop/modernize/host-standard-control-with-xaml-islands-cpp.md @@ -19,7 +19,7 @@ This article demonstrates how to use the [UWP XAML hosting API](using-the-xaml-h ## Create a desktop application project -1. In Visual Studio 2019 with the Windows 10, version 1903 SDK (version 10.0.18362) or a later release installed, create a new **Windows Desktop Application** project and name it **MyDesktopWin32App**. This project type is available under the **C++**, **Windows**, and **Desktop** project filters. +1. In Visual Studio 2019 with the Windows 10, version 1903 SDK (build 10.0.18362) or a later release installed, create a new **Windows Desktop Application** project and name it **MyDesktopWin32App**. This project type is available under the **C++**, **Windows**, and **Desktop** project filters. 2. In **Solution Explorer**, right-click the solution node, click **Retarget solution**, select the **10.0.18362.0** or a later SDK release, and then click **OK**. @@ -33,10 +33,10 @@ This article demonstrates how to use the [UWP XAML hosting API](using-the-xaml-h 4. On the **Browse** tab of the **NuGet Package Manager** window, search for the [Microsoft.Toolkit.Win32.UI.SDK](https://www.nuget.org/packages/Microsoft.Toolkit.Win32.UI.SDK) NuGet package and install the latest stable version of this package. This package provides several build and run time assets that enable XAML Islands to work in your app. -5. Set the `maxVersionTested` value in your [application manifest](/windows/desktop/SbsCs/application-manifests) to specify that your application is compatible with Windows 10, version 1903 or later. +5. Set the `maxversiontested` value in your [application manifest](/windows/desktop/SbsCs/application-manifests) to specify that your application is compatible with Windows 10, version 1903. 1. If you don't already have an application manifest in your project, add a new XML file to your project and name it **app.manifest**. - 2. In your application manifest, include the **compatibility** element and the child elements shown in the following example. Replace the **Id** attribute of the **maxVersionTested** element with the version number of Windows 10 you are targeting (this must be 10.0.18362 or a later release). + 2. In your application manifest, include the **compatibility** element and the child elements shown in the following example. Replace the **Id** attribute of the **maxversiontested** element with the version number of Windows 10 you are targeting (this must be 10.0.18362.0 or a later release). Note that setting a higher value means older versions of Windows won't run the app properly because every Windows release only knows of versions before it. If you want the app to run on Windows 10, version 1903 (build 10.0.18362), you should either leave the 10.0.18362.0 value as is, or add multiple **maxversiontested** elements for the different values the app supports. ```xml diff --git a/hub/apps/desktop/modernize/index.md b/hub/apps/desktop/modernize/index.md index e6bf95916a..0cfe5f257a 100644 --- a/hub/apps/desktop/modernize/index.md +++ b/hub/apps/desktop/modernize/index.md @@ -15,7 +15,7 @@ Windows 10 and the Universal Windows Platform (UWP) offer many features you can This article describes the Windows 10 and UWP features that you can use in your desktop apps today. For a tutorial that demonstrates how to modernize an existing app to use many of the features described in this article, see the [Modernize a WPF app](modernize-wpf-tutorial.md) tutorial. > [!NOTE] -> Do you need assistance migrating desktop apps to Windows 10? The [Desktop App Assure](/FastTrack/win-10-desktop-app-assure) service provides direct, no-cost support to developers who are porting their apps to Windows 10. This program is available to all ISVs and eligible enterprises. For more details on eligibility and about the program itself, visit [/fasttrack/win-10-app-assure-assistance-offered](/fasttrack/win-10-app-assure-assistance-offered). To get started now, [submit your request](https://fasttrack.microsoft.com/dl/daa). +> Do you need assistance migrating desktop apps to Windows 10? The [App Assure](/fasttrack/products-and-capabilities#app-assure) service provides direct, no-cost support to developers who are porting their apps to Windows 10. This program is available to all ISVs and eligible enterprises. For more details on eligibility and about the program itself, visit [/fasttrack/win-10-app-assure-assistance-offered](/fasttrack/win-10-app-assure-assistance-offered). To get started now, [submit your request](https://fasttrack.microsoft.com/dl/daa). ## Windows UI Library diff --git a/hub/apps/project-reunion/preview-channel.md b/hub/apps/project-reunion/preview-channel.md index 3ef0569fee..e8af68efeb 100644 --- a/hub/apps/project-reunion/preview-channel.md +++ b/hub/apps/project-reunion/preview-channel.md @@ -16,19 +16,11 @@ The preview channel provides releases of Project Reunion that include experiment The latest release of the preview channel is Project Reunion version 0.8 Preview. > [!div class="button"] -> [Download the latest preview release](https://aka.ms/projectreunion/previewdownload) +> [Download](https://aka.ms/projectreunion/previewdownload) ## Features in the latest preview release -The latest preview channel release includes the following sets of APIs and components you can explore and experiment with in your apps. - -| Component | Description | -|---------|-------------| -| [Windows UI Library 3](../winui/winui3/index.md) | Windows UI Library (WinUI) 3 is the next generation of the Windows user experience (UX) platform for Windows apps. This release includes Visual Studio project templates to help get started [building apps with a WinUI-based user interface](..\winui\winui3\winui-project-templates-in-visual-studio.md), and a NuGet package that contains the WinUI libraries. | -| [Manage resources with MRT Core](mrtcore/mrtcore-overview.md) | MRT Core provides APIs to load and manage resources used by your app. MRT Core is a streamlined version of the modern [Windows Resource Management System](/windows/uwp/app-resources/resource-management-system). | -| [Render text with DWriteCore](dwritecore.md) | DWriteCore provides access to all current DirectWrite features for text rendering, including a device-independent text layout system, hardware-accelerated text, multi-format text, and wide language support. | -| [AppLifecycle](applifecycle/applifecycle-instancing.md) | **Experimental feature**. Apps can use AppLifecycle APIs to manage their lifecycle behavior, such as retrieving activation information and defining your app's instancing model. | -| [Deploy unpackaged apps](deploy-unpackaged-apps.md) | **Experimental feature**. Unpackaged apps can dynamically take a dependency on the Project Reunion runtime packages so you can continue using your existing MSI or setup program for app deployment. | +This release contains all [preview channel features](release-channels.md#features-by-release-channel) that you can explore and experiment with in your apps. ## Release notes diff --git a/hub/apps/project-reunion/release-channels.md b/hub/apps/project-reunion/release-channels.md index c2194c0bb7..2f4fefcd7f 100644 --- a/hub/apps/project-reunion/release-channels.md +++ b/hub/apps/project-reunion/release-channels.md @@ -16,9 +16,31 @@ Project Reunion currently provides two release channels: **stable** and **previe - [Stable channel](stable-channel.md): This channel is supported for use by apps in production environments. - [Preview channel](preview-channel.md): This channel includes experimental features, and is not supported for use in production environments. +The rest of this article provides an overview of requirements, features, known issues, and limitations that apply to both stable channel and preview channel releases of Project Reunion. + +## Requirements + +Project Reunion has the following core requirements. For more details, see [Set up your development environment](set-up-your-development-environment.md). + +- Windows 10, version 1809, or a later OS version (for building and running apps). +- Visual Studio 2019 version 16.9 or higher (for building apps). + +## Features by release channel + +Some features and scenarios are not available in all release channels. The following table indicates which features are only supported in certain channels. + +| Feature | Description | Stable channel | Preview channel | +|---------|-------------|----------------|-----------------| +| [Windows UI Library 3](../winui/winui3/index.md) | The next generation of the Windows user experience (UX) platform for Windows apps. | :heavy_check_mark: | :heavy_check_mark: | +| [Manage resources with MRT Core](mrtcore/mrtcore-overview.md) | Provides features for loading and managing resources. | :heavy_check_mark: | :heavy_check_mark: | +| [Render text with DWriteCore](dwritecore.md) | Provides access to features for text rendering, including a device-independent text layout system, hardware-accelerated text,and multi-format text. | :heavy_check_mark: | :heavy_check_mark: | +| [Control app activation](applifecycle/applifecycle-instancing.md) | **Experimental feature**. Provides features for managing app lifecycle behavior, such as retrieving activation information and defining the app's instancing model. | :x: | :heavy_check_mark: | +| [Deploy packaged apps](deploy-packaged-apps.md) | Deploy [MSIX](/windows/msix)-packaged apps that use Project Reunion to other computers. | :heavy_check_mark: | :heavy_check_mark: | +| [Deploy unpackaged apps](deploy-unpackaged-apps.md) | **Experimental feature**. Configure unpackaged apps to take a dependency on the Project Reunion runtime packages so they can use MSI or setup programs for deployment. | :x: | :heavy_check_mark: | + ## Known issues and limitations for all release channels -The following known issues and limitations apply to both stable channel and preview channel releases of Project Reunion. +The following known issues and limitations apply to both stable channel and preview channel releases of Project Reunion. #### .NET SDK references diff --git a/hub/apps/project-reunion/stable-channel.md b/hub/apps/project-reunion/stable-channel.md index b8d6334276..41a99437c6 100644 --- a/hub/apps/project-reunion/stable-channel.md +++ b/hub/apps/project-reunion/stable-channel.md @@ -13,26 +13,33 @@ ms.localizationpriority: medium The stable channel provides releases of Project Reunion that are supported for use by apps in production environments. Apps that use the release channel of Project Reunion can also be published to the Microsoft Store. -The latest release of the stable channel is Project Reunion [version 0.5.7](https://github.com/microsoft/ProjectReunion/discussions/820). +The following releases of the stable channel are currently available: -> [!div class="button"] -> [Download the latest stable release](https://aka.ms/projectreunion/vsixdownload) +- [Version 0.8 RC (release candidate)](#version-08-rc) +- [Version 0.5](#version-05) + +## Version 0.8 RC + +This is a release candidate of the upcoming release of Project Reunion 0.8. This build is available for developers to try out and provide feedback before the final release. + +For more information and download details, see the [GitHub announcement](https://aka.ms/projectreunion/0.8-release-candidate). -## Features in the latest stable release +## Version 0.5 + +The latest available servicing release is [0.5.7](https://github.com/microsoft/ProjectReunion/discussions/820). + +> [!div class="button"] +> [Download](https://aka.ms/projectreunion/vsixdownload) -The latest stable channel release includes the following sets of APIs and components you can use in your apps. +#### New features and updates -| Component | Description | -|---------|-------------| -| [Windows UI Library 3](../winui/winui3/index.md) | Windows UI Library (WinUI) 3 is the next generation of the Windows user experience (UX) platform for Windows apps. This release includes Visual Studio project templates to help get started [building apps with a WinUI-based user interface](..\winui\winui3\winui-project-templates-in-visual-studio.md), and a NuGet package that contains the WinUI libraries. | -| [Manage resources with MRT Core](mrtcore/mrtcore-overview.md) | MRT Core provides APIs to load and manage resources used by your app. MRT Core is a streamlined version of the modern [Windows Resource Management System](/windows/uwp/app-resources/resource-management-system). | -| [Render text with DWriteCore](dwritecore.md) | DWriteCore provides access to all current DirectWrite features for text rendering, including a device-independent text layout system, hardware-accelerated text, multi-format text, and wide language support. | +This release supports all [stable channel features](release-channels.md#features-by-release-channel). -## Release notes +#### Known issues and limitations -This section lists limitations and known issues for Project Reunion version 0.5.x. +This release has the following limitations and known issues: -- **Desktop apps (C# .NET 5 or C++ desktop)**: This release cannot be used in unpackaged desktop apps (C# .NET 5 or C++ desktop). This release is supported for use only in MSIX-packaged desktop apps. +- **Desktop apps (C# .NET 5 or C++ desktop)**: This release is supported for use only in desktop apps (C++ or C# with .NET 5) that are packaged using MSIX. To use Project Reunion in unpackaged desktop apps, you must use the [preview channel](preview-channel.md). - **UWP apps**: This release is not supported for UWP apps that are used in production environments. To use Project Reunion in UWP apps, you must use a release from the [preview release channel](preview-channel.md). For more information about installing the preview extension, see [Set up your development environment](set-up-your-development-environment.md). - **WinUI 3**: For a list of WinUI changes in this release, see the [WinUI 3 - Project Reunion 0.5 release notes](../winui/winui3/index.md). - The [WinUI 3 developer tool limitations](..\winui\winui3\index.md#developer-tools) also apply to any project that uses this release. @@ -42,4 +49,4 @@ This section lists limitations and known issues for Project Reunion version 0.5. - [Preview channel](preview-channel.md) - [Set up your development environment](set-up-your-development-environment.md) - [Get started developing apps with Project Reunion](get-started-with-project-reunion.md) -- [Deploy apps that use Project Reunion](deploy-apps-that-use-project-reunion.md) \ No newline at end of file +- [Deploy apps that use Project Reunion](deploy-apps-that-use-project-reunion.md) diff --git a/hub/apps/project-reunion/update-existing-projects-to-the-latest-release.md b/hub/apps/project-reunion/update-existing-projects-to-the-latest-release.md index 5ec81aa495..9b22f8a058 100644 --- a/hub/apps/project-reunion/update-existing-projects-to-the-latest-release.md +++ b/hub/apps/project-reunion/update-existing-projects-to-the-latest-release.md @@ -11,20 +11,20 @@ ms.localizationpriority: medium # Update existing projects to the latest release of Project Reunion -If you created a project with an earlier preview or release version of Project Reunion or WinUI 3, you can update the project to use the latest stable release (version 0.5.7) or the latest preview release (version 0.8 preview). +If you created a project with an earlier preview or release version of Project Reunion or WinUI 3, you can update the project to use the latest stable release (version 0.5.7), the latest preview release (version 0.8 preview), or the latest release candidate (version 0.8 release candidate). > [!NOTE] > These instructions may have issues due to the uniqueness of each app's individual scenario. Please carefully follow them and if you find issues, [file a bug on our GitHub repo](https://github.com/microsoft/microsoft-ui-xaml/issues/new/choose). ## Update from Project Reunion 0.5.0 or above -If you created a project using Project Reunion version 0.5.0 or above, you can follow these instructions to update your project to Project Reunion version 0.5.7 (the latest stable release) or Project Reunion version 0.8 preview (the latest preview release). +If you created a project using Project Reunion version 0.5.0 or above (including the 0.8 preview), you can follow these instructions to update your project to a newer version. > [!NOTE] > If you created a project using the Project Reunion 0.5 VSIX and want to update to a newer stable version, you may be able to automatically update your project through the Visual Studio Extension Manager, without going through the manual steps below. In Visual Studio 2019, click on **Extensions** -> **Manage Extensions** and select **Updates** from the left menu bar. Select "Project Reunion" from the list and click **Update**. > [!IMPORTANT] -> The following example shows how to update a project to use Project Reunion version 0.5.7. If you'd like to update your app to version 0.8 preview, replace the "0.5.7" version number with "0.8.0-preview". +> The following example shows how to update a project to use Project Reunion version 0.5.7. If you'd like to update your app to version 0.8 preview, replace the "0.5.7" version number with "0.8.0-preview". If you'd like to update to version 0.8 release candidate, replace the version number with "0.8.0-rc". Before starting, make sure you have all the Project Reunion 0.5 prerequisites installed, including the latest Project Reunion VSIX and NuGet package. For more details, see the [installation instructions](set-up-your-development-environment.md). @@ -47,19 +47,9 @@ Next, make these changes to your project: install-package Microsoft.ProjectReunion -Version 0.5.7 -ProjectName {yourProjectName} ``` -4. Make the following changes in your Application (package).wapproj: - - 1. Add this section: - - ```xml - - - build - - - ``` +4. **If you're updating from 0.8 preview**, your app should now be updated. Otherwise, make the following changes in your Application (package).wapproj: - 2. Locate the following line: + 1. Locate the following line: ```xml net5.0-windows$(TargetPlatformVersion);$(AssetTargetFallback) @@ -67,20 +57,7 @@ Next, make these changes to your project: Move this line and place it on a new line directly beneath the `` tag. - 3. Remove this lines: - - ```xml - $(MSBuildThisFileDirectory)build\ - ``` - - And these lines: - - ```xml - - - ``` - - And this item group (if you're updating from a newer version than 0.5.0, you will see a later version number referenced in this item group): + 2. Remove this item group (if you're updating from a newer version than 0.5.0, you will see a later version number referenced in this item group): ```xml @@ -95,12 +72,12 @@ Next, make these changes to your project: ## Update from Project Reunion 0.5 Preview -If you created a project using Project Reunion 0.5 Preview, you can follow these instructions to update your project to Project Reunion version 0.5.7 (the latest stable release) or Project Reunion version 0.8 preview (the latest preview release). +If you created a project using a preview version of Project Reunion, you can follow these instructions to update your project to a newer release. > [!IMPORTANT] -> The following example shows how to update a project to use Project Reunion version 0.5.7. If you'd like to update your app to version 0.8 preview, replace the "0.5.7" version number with "0.8.0-preview". +> The following example shows how to update a project to use Project Reunion version 0.5.7. If you'd like to update your app to version 0.8 preview, replace the "0.5.7" version number with "0.8.0-preview". If you'd like to update to version 0.8 release candidate, replace the version number with "0.8.0-rc". -Before starting, make sure you have all the Project Reunion 0.5 prerequisites installed, including the latest Project Reunion VSIX and NuGet package. For more details, see the [installation instructions](set-up-your-development-environment.md). +Before starting, make sure you have all the Project Reunion prerequisites installed, including the latest Project Reunion VSIX and NuGet package. For more details, see the [installation instructions](set-up-your-development-environment.md). First, do the following: @@ -174,12 +151,12 @@ Next, make these changes to your project: ## Update from WinUI 3 Preview 4 -If you created a project using WinUI 3 Preview 4, you can follow these instructions to update your project to Project Reunion version 0.5.7 (the latest stable release) or Project Reunion version 0.8 preview (the latest preview release). +If you created a project using WinUI 3 Preview 4, you can follow these instructions to update your project to a newer version of Project. > [!IMPORTANT] -> The following example shows how to update a project to use Project Reunion version 0.5.7. If you'd like to update your app to version 0.8 preview, replace the "0.5.7" version number with "0.8.0-preview". +> The following example shows how to update a project to use Project Reunion version 0.5.7. If you'd like to update your app to version 0.8 preview, replace the "0.5.7" version number with "0.8.0-preview". If you'd like to update to version 0.8 release candidate, replace the version number with "0.8.0-rc". -Before starting, make sure you have all the Project Reunion 0.5 prerequisites installed, including the latest Project Reunion VSIX and NuGet package. For more details, see the [installation instructions](set-up-your-development-environment.md). +Before starting, make sure you have all the Project Reunion prerequisites installed, including the latest Project Reunion VSIX and NuGet package. For more details, see the [installation instructions](set-up-your-development-environment.md). First, do the following: diff --git a/hub/apps/trace-processing/reference.md b/hub/apps/trace-processing/reference.md index 81eb0657ec..101687b83d 100644 --- a/hub/apps/trace-processing/reference.md +++ b/hub/apps/trace-processing/reference.md @@ -9,4 +9,4 @@ ms.topic: reference # .NET TraceProcessing API reference -See the [.NET API browser for TraceProcessing](/dotnet/api/?view=trace-processor-dotnet-1.0). \ No newline at end of file +See the [.NET API browser for TraceProcessing](/dotnet/api/?view=trace-processor-dotnet-1.0&preserve-view=true). diff --git a/hub/apps/whats-new/build2021-docs.md b/hub/apps/whats-new/build2021-docs.md index abb31997a5..e48549ac5c 100644 --- a/hub/apps/whats-new/build2021-docs.md +++ b/hub/apps/whats-new/build2021-docs.md @@ -18,17 +18,17 @@ We've gathered together links to documentation that supports the talks given as ## Project Reunion -- [Build desktop Windows apps with Project Reunion](/windows/apps/project-reunion/) -- [Get started with Project Reunion](/windows/apps/project-reunion/get-started-with-project-reunion) -- [Update existing projects to the latest release of Project Reunion](/windows/apps/project-reunion/update-existing-projects-to-the-latest-release) +- [Build desktop Windows apps with Project Reunion](../project-reunion/index.md) +- [Get started with Project Reunion](../project-reunion/get-started-with-project-reunion.md) +- [Update existing projects to the latest release of Project Reunion](../project-reunion/update-existing-projects-to-the-latest-release.md) ## WinUI -- [WinUI Introduction](/windows/apps/winui/) -- [Comparison of WinUI 3 and WinUI 2](/windows/apps/winui/winui3-winui2-comparison) -- [WinUI 3.0 - Project Reunion 0.5](/windows/apps/winui/winui3/) -- [Windows UI Library 2.x](/windows/apps/winui/winui2/) +- [WinUI Introduction](../winui/index.md) +- [Comparison of WinUI 3 and WinUI 2](../winui/winui3-winui2-comparison.md) +- [WinUI 3.0 - Project Reunion 0.5](../winui/winui3/index.md) +- [Windows UI Library 2.x](../winui/winui2/index.md) ## Windows Template Studio @@ -42,8 +42,8 @@ We've gathered together links to documentation that supports the talks given as ## React Native -- [React overview](/windows/dev-environment/javascript/react-overview) -- [Install React direct on Windows](/windows/dev-environment/javascript/react-on-windows) +- [React overview](../../dev-environment/javascript/react-overview.md) +- [Install React direct on Windows](../../dev-environment/javascript/react-on-windows.md) ## Microsoft Store @@ -51,8 +51,8 @@ We've gathered together links to documentation that supports the talks given as ## Windows Package Manager -- [Windows Package Manager (preview)](/windows/package-manager/) -- [Using the winget tool to install and manage applications](/windows/package-manager/winget/) +- [Windows Package Manager (preview)](../../package-manager/index.md) +- [Using the winget tool to install and manage applications](../../package-manager/winget/index.md) ## Machine Learning @@ -83,4 +83,4 @@ We've gathered together links to documentation that supports the talks given as ## Windows Terminal -- [Terminal Preview v1.9 announced](https://devblogs.microsoft.com/commandline/windows-terminal-preview-1-9-release) +- [Terminal Preview v1.9 announced](https://devblogs.microsoft.com/commandline/windows-terminal-preview-1-9-release) \ No newline at end of file diff --git a/hub/apps/whats-new/latest-doc-updates.md b/hub/apps/whats-new/latest-doc-updates.md index 09ecb90cf9..6363cf7a97 100644 --- a/hub/apps/whats-new/latest-doc-updates.md +++ b/hub/apps/whats-new/latest-doc-updates.md @@ -2,7 +2,7 @@ description: Discover the latest additions to the Windows developer docs. title: Latest updates to the Windows developer docs ms.topic: article -ms.date: 5/13/2021 +ms.date: 6/9/2021 ms.localizationpriority: medium ms.author: quradic author: QuinnRadich @@ -10,7 +10,7 @@ author: QuinnRadich # Latest updates to the Windows developer docs -The Windows developer docs are regularly updated with new and improved information and content. Here is a summary of changes as of May 12th, 2021. +The Windows developer docs are regularly updated with new and improved information and content. Here is a summary of changes as of June 9th, 2021. Note: For a specific list of APIs added as part of Windows 10 build 19041 (also known as 2004), please see [this list](/windows/uwp/whats-new/windows-10-build-19041-api-diff). @@ -22,97 +22,86 @@ Many thanks to everyone who has contributed to the documentation. Your correctio Highlights this month include: -### Updated topics +### Project Reunion -* [Windows Runtime APIs not supported in desktop apps](https://docs.microsoft.com/windows/apps/desktop/modernize/desktop-to-uwp-supported-api) -* [DWriteCore](https://docs.microsoft.com/windows/win32/directwrite/dwritecore-overview) -* [XamlListDetail](https://github.com/stevewhims/XamlListDetail) -* [Direct Machine Learning 1.5](https://docs.microsoft.com/windows/win32/direct3d12/dml-version-history) -* [BluetoothCacheMode enum](https://docs.microsoft.com/uwp/api/windows.devices.bluetooth.bluetoothcachemode) and [BluetoothLEAdvertisementFilter class](https://docs.microsoft.com/uwp/api/windows.devices.bluetooth.advertisement.bluetoothleadvertisementfilter) -### New Content +Expanded Project Reunion docs for 0.8 Preview release, including: -* [Visual Studio native debug visualization (natvis) for C++/WinRT](https://docs.microsoft.com/windows/uwp/cpp-and-winrt-apis/natvis) -* [ winrt::try_get_activation_factory function template](https://docs.microsoft.com/uwp/cpp-ref-for-winrt/try-get-activation-factory) -* [Get started with JavaScript](https://docs.microsoft.com/windows/dev-environment/javascript/) -* [NUMA Support](https://docs.microsoft.com/windows/win32/procthread/numa-support) -* [Endpoint data loss prevention](https://docs.microsoft.com/windows/win32/lwef/endpointdlp-endpoint-data-loss-prevention) + +* [New release channels articles ](/windows/apps/project-reunion/release-channels) +* [New unpackaged deployment section with four new articles](/windows/apps/project-reunion/deploy-unpackaged-apps) +* [New app lifecycle articles ](/windows/apps/project-reunion/applifecycle/applifecycle-instancing) + + +### New content + +* [A series of daily Bite-sized C++ topics](https://github.com/MicrosoftDocs/windows-devdocs-team/tree/main/bite-sized-cpp) +* [Run Linux GUI apps on the WSL preview](/windows/wsl/tutorials/gui-apps) +* [Windows runtime C++ reference](/windows/win32/api/_winrt/) +* [Endpoint data loss protection](/windows/win32/lwef/endpointdlp-endpoint-data-loss-prevention) + +### Updated content + +* [DirectX and XAML intertop](/windows/uwp/gaming/directx-and-xaml-interop) +* [Windows.Storage.AccessCache](/uwp/api/windows.storage.accesscache) +* [Porting Microsoft::WRL::Wrappers](/windows/uwp/cpp-and-winrt-apis/move-to-winrt-from-wrl) +* [Rust for Windows RSS reader tutorial](/windows/dev-environment/rust/rss-reader-rust-for-windows) +* [MKV file support](/windows/win32/medfound/mkv-support) + +### Developer tool updates + +[Windows Terminal](/windows/terminal/) + * [Updated mouse interactions](/windows/terminal/tips-and-tricks#mouse-interaction) + +v1.8 features moving out of preview include: + * [useApplicationTitle](/windows/terminal/command-line-arguments?tabs=windows#using-application-title) + * [Color scheme](/windows/terminal/command-line-arguments?tabs=windows#color-scheme) + * [Ability to target Settings UI](/windows/terminal/customize-settings/actions#open-settings-files) + * [tabSwitcherMode](/windows/terminal/customize-settings/actions#actions-6) + * [Rename window](/windows/terminal/customize-settings/actions#rename-window) + * [Open window rename dialog](/windows/terminal/customize-settings/actions#open-window-rename-dialog) + * [Unfocused appearance settings](/windows/terminal/customize-settings/profile-appearance#unfocused-appearance-settings) + +v1.9 new preview features include: + * [Quake mode](/windows/terminal/tips-and-tricks#quake-mode) + * [Global commands](/windows/terminal/customize-settings/actions#global-commands) + * [Remove trailing whitespace](/windows/terminal/customize-settings/interaction#remove-trailing-white-space-in-rectangular-selection-preview) + * [Auto-detect URLs](/windows/utomatically-detect-urls-and-make-them-clickable-preview) + * [Set default terminal emulator](/windows/terminal/customize-settings/startup#default-terminal-application-preview) + +[Windows Subsystem for Linux (WSL)](/windows/wsl/) + * [Get started using Git on WSL](/windows/wsl/tutorials/wsl-git): Update to incorporate Git Credential Manager Core + +[Windows Package Manager](/windows/package-manager/) + * [Updates to package submission process](/windows/package-manager/package/) + * [Updates to package submission validation process](/windows/package-manager/package/) + * [Updates to package manifest creation](/windows/package-manager/package/repository) + * [Updates to winget commands](/windows/package-manager/winget) ## Tabs vs. Spaces Show * [What’s new with Microsoft Edge](https://channel9.msdn.com/Shows/Tabs-vs-Spaces/Microsoft-Edge-Web-dev-tools-A11y-and-PWAs) -### Related content +### Related content * [Azure Communication Services](https://azure.microsoft.com/services/communication-services/) +* [Tutorial: Use Key Vault references in an ASP.NET Core app](/azure/azure-app-configuration/use-key-vault-references-dotnet-core?tabs=core5x) +* [Use managed identities to access App Configuration](/azure/azure-app-configuration/howto-integrate-azure-managed-service-identity?tabs=core5x) +* [Quickstart: Get a network relay token](/azure/communication-services/quickstarts/relay-token?pivots=programming-language-csharp) +* [Quickstart: Add voice calling to your app](/azure/communication-services/quickstarts/voice-video-calling/getting-started-with-calling?pivots=platform-windows) +* [Tutorial: Use Key Vault references in an ASP.NET Core app](/azure/azure-app-configuration/use-key-vault-references-dotnet-core?tabs=core5x) The following list of topics have seen significant updates in the past month, as per GitHub logs: ## WinRT conceptual + ## Win32 conceptual \ No newline at end of file + diff --git a/hub/dev-environment/index.md b/hub/dev-environment/index.md index d8f8a28a06..7d73aaa23f 100644 --- a/hub/dev-environment/index.md +++ b/hub/dev-environment/index.md @@ -1,6 +1,6 @@ --- title: Setup a development environment on Windows 10 -description: A guide to help you setup your development environment on Windows and install your prefered tools and code languages. Whether you prefer using Python, NodeJS, VS Code, Git, Bash, Linux tools and commands, Android Studio, we've got your covered with great new tools like Windows Terminal and WSL. +description: A guide to help you setup your development environment on Windows and install your prefered tools and code languages. author: mattwojo ms.author: mattwoj manager: jken diff --git a/hub/dev-environment/javascript/index.md b/hub/dev-environment/javascript/index.md index 23942b08a0..f6cec65e45 100644 --- a/hub/dev-environment/javascript/index.md +++ b/hub/dev-environment/javascript/index.md @@ -1,6 +1,6 @@ --- -title: Windows for JavaScript, NodeJS, React, and Vue developers -description: A guide to help you get started building JavaScript apps. Install NodeJS, React, Vue, Next.js, Nuxt.js, or Gatsby and set up your development environment on Windows 10. +title: Install JavaScript frameworks on Windows +description: A guide to help you get started with JavaScript frameworks on Windows, including Node.js, React.js, Vue.js, Next.js, Nuxt.js, or Gatsby. author: mattwojo ms.author: mattwoj manager: jken @@ -8,14 +8,14 @@ ms.topic: article ms.technology: windows-javascript keywords: Node.js, NodeJS, next.js, nuxt.js, gatsby, react, vue, windows, install, wsl, Set up windows, Dev Environment ms.localizationpriority: medium -ms.date: 04/19/2021 +ms.date: 06/04/2021 --- -# Windows 10 for JavaScript & Node.js developers +# Install JavaScript frameworks on Windows This guide will help you get started using JavaScript frameworks on Windows, including Node.js, React.js, Vue.js, Next.js, Nuxt.js, or Gatsby. -## Choose a framework to install and set up your dev environment +## Choose a JavaScript framework to install and set up your dev environment :::row::: :::column::: diff --git a/hub/dev-environment/rust/rss-reader-rust-for-windows.md b/hub/dev-environment/rust/rss-reader-rust-for-windows.md index 2546ee5521..ac62428341 100644 --- a/hub/dev-environment/rust/rss-reader-rust-for-windows.md +++ b/hub/dev-environment/rust/rss-reader-rust-for-windows.md @@ -213,7 +213,7 @@ We did say that Rust for Windows lets you call any Windows API (past, present, a } ``` -2. Next, open the project's `src` > `main.rs` source code file, and update the `use` declaration with the new namespace, or module. And finally add code to call the [**MessageBoxA**](/windows/win32/api/winuser/nf-winuser-messageboxa) function (also see [**MessageBoxA**](https://microsoft.github.io/windows-docs-rs/doc/bindings/Windows/Win32/WindowsAndMessaging/fn.MessageBoxA.html) in the [Rust documentation for the Windows API](https://microsoft.github.io/windows-docs-rs/doc/bindings/Windows/), which includes a link to [**MESSAGEBOX_STYLE**](https://microsoft.github.io/windows-docs-rs/doc/bindings/Windows/Win32/WindowsAndMessaging/struct.MESSAGEBOX_STYLE.html)). +2. Next, open the project's `src` > `main.rs` source code file, and update the `use` declaration with the new namespace, or module. And finally add code to call the [**MessageBoxA**](/windows/win32/api/winuser/nf-winuser-messageboxa) function (also see [**MessageBoxA**](https://microsoft.github.io/windows-docs-rs/doc/bindings/Windows/Win32/UI/WindowsAndMessaging/fn.MessageBoxA.html) in the [Rust documentation for the Windows API](https://microsoft.github.io/windows-docs-rs/doc/bindings/Windows/), which includes a link to [**MESSAGEBOX_STYLE**](https://microsoft.github.io/windows-docs-rs/doc/bindings/Windows/Win32/UI/WindowsAndMessaging/struct.MESSAGEBOX_STYLE.html)). ```rust // src\main.rs diff --git a/windows-apps-src/composition/composition-lighting.md b/windows-apps-src/composition/composition-lighting.md index 11d823ce6a..c3819a4b68 100644 --- a/windows-apps-src/composition/composition-lighting.md +++ b/windows-apps-src/composition/composition-lighting.md @@ -16,7 +16,7 @@ The Windows.UI.Composition APIs enable you to create real-time animations and ef Composition lighting lets you create interesting UI by allowing: - Transformation of a light independent of other objects in the scene to enable immersive scenarios like music playback scenes. -- The ability to pair an object with a light so they move together independent of the rest of the scene to enable scenarios like Fluent [Reveal](../design/style/reveal.md) highlight. +- The ability to pair an object with a light so they move together independent of the rest of the scene to enable scenarios like Fluent [Reveal](../design/style/index.md) highlight. - Transformation of the light and entire scene as a group to create materials and depth. Composition lighting supports three key concepts: **Light**, **Targets**, and **SceneLightingEffect**. diff --git a/windows-apps-src/csharp-winrt/net-projection-from-cppwinrt-component.md b/windows-apps-src/csharp-winrt/net-projection-from-cppwinrt-component.md index 3b2c07b286..76b70f09bf 100644 --- a/windows-apps-src/csharp-winrt/net-projection-from-cppwinrt-component.md +++ b/windows-apps-src/csharp-winrt/net-projection-from-cppwinrt-component.md @@ -224,7 +224,7 @@ To consume the projected **SimpleMathComponent**, you can simply add a reference ``` - Note that for this walkthrough, the NuGet restore path for the **SimpleMathComponent** assumes that both solution files are in the same directory. Alternatively, you can [add a local NuGet package feed](https://docs.microsoft.com/nuget/consume-packages/install-use-packages-visual-studio#package-sources) to your solution. + Note that for this walkthrough, the NuGet restore path for the **SimpleMathComponent** assumes that both solution files are in the same directory. Alternatively, you can [add a local NuGet package feed](/nuget/consume-packages/install-use-packages-visual-studio#package-sources) to your solution. 4. Edit the **Program.cs** file to use the functionality provided by **SimpleMathComponent**. diff --git a/windows-apps-src/debug-test-perf/conditional-xaml.md b/windows-apps-src/debug-test-perf/conditional-xaml.md index 1014b1b546..0240c1d94f 100644 --- a/windows-apps-src/debug-test-perf/conditional-xaml.md +++ b/windows-apps-src/debug-test-perf/conditional-xaml.md @@ -20,7 +20,7 @@ For important background info about ApiInformation and API contracts, see [Versi ## Conditional namespaces -To use a conditional method in XAML, you must first declare a conditional [XAML namespace](../xaml-platform/xaml-namespaces-and-namespace-mapping.md) at the top of your page. Here's a psuedo-code example of a conditional namespace: +To use a conditional method in XAML, you must first declare a conditional [XAML namespace](../xaml-platform/xaml-namespaces-and-namespace-mapping.md) at the top of your page. Here's a pseudo-code example of a conditional namespace: ```xaml xmlns:myNamespace="schema?conditionalMethod(parameter)" diff --git a/windows-apps-src/debug-test-perf/optimize-gridview-and-listview.md b/windows-apps-src/debug-test-perf/optimize-gridview-and-listview.md index 9ae48b203e..f2212013c7 100644 --- a/windows-apps-src/debug-test-perf/optimize-gridview-and-listview.md +++ b/windows-apps-src/debug-test-perf/optimize-gridview-and-listview.md @@ -237,7 +237,7 @@ The general strategy for the [**ContainerContentChanging**](/uwp/api/windows.ui. } ``` -4. If you run the app now and pan/scroll quickly through the grid view then you'll see the same behavior as for as for **x:Phase**. +4. If you run the app now and pan/scroll quickly through the grid view then you'll see the same behavior as for **x:Phase**. ## Container-recycling with heterogeneous collections @@ -315,4 +315,4 @@ When recycling an item (**ListViewItem**/**GridViewItem**), the framework must d When there is an uneven distribution of items that use different item templates then new item templates will likely need to be created during panning, and this negates many of the gains provided by virtualization. Additionally, an item template selector only considers five possible candidates when evaluating whether a particular container can be reused for the current data item. So you should carefully consider whether your data is appropriate for use with an item template selector before using one in your app. If your collection is mostly homogeneous then the selector is returning the same type most (possibly all) of the time. Just be aware of the price you're paying for the rare exceptions to that homegeneity, and consider whether using [**ChoosingItemContainer**](/uwp/api/windows.ui.xaml.controls.listviewbase.choosingitemcontainer) (or two items controls) is preferable. -  \ No newline at end of file +  diff --git a/windows-apps-src/design/basics/commanding-basics.md b/windows-apps-src/design/basics/commanding-basics.md index 2cf0efd85b..a5fda9f81a 100644 --- a/windows-apps-src/design/basics/commanding-basics.md +++ b/windows-apps-src/design/basics/commanding-basics.md @@ -56,7 +56,7 @@ Using the right elements in a command interface can make the difference between :::column span="2"::: Lists -Lists present items in a interactive list or a grid. Usually used for many options or display items. Examples include drop-down list, list box, list view and grid view. +Lists present items in an interactive list or a grid. Usually used for many options or display items. Examples include drop-down list, list box, list view and grid view. :::row-end::: :::row::: diff --git a/windows-apps-src/design/basics/navigation-history-and-backwards-navigation.md b/windows-apps-src/design/basics/navigation-history-and-backwards-navigation.md index b2cf5c7bc2..86f0ff0ecc 100644 --- a/windows-apps-src/design/basics/navigation-history-and-backwards-navigation.md +++ b/windows-apps-src/design/basics/navigation-history-and-backwards-navigation.md @@ -470,14 +470,12 @@ protected override void OnLaunched(LaunchActivatedEventArgs e) // Handle mouse back button. private void CoreWindow_PointerPressed(CoreWindow sender, PointerEventArgs e) { - // For this event, e.Handled arrives as 'true', so invert the value. - if (e.CurrentPoint.Properties.IsXButton1Pressed - && e.Handled) + // For this event, e.Handled arrives as 'true'. + if (e.CurrentPoint.Properties.IsXButton1Pressed) { e.Handled = !TryGoBack(); } - else if (e.CurrentPoint.Properties.IsXButton2Pressed - && e.Handled) + else if (e.CurrentPoint.Properties.IsXButton2Pressed) { e.Handled = !TryGoForward(); } @@ -518,14 +516,12 @@ private: // Handle mouse forward and back buttons. void CoreWindow_PointerPressed(CoreWindow const& /* sender */, PointerEventArgs const& e) { - // For this event, e.Handled arrives as 'true', so invert the value. - if (e.CurrentPoint().Properties().IsXButton1Pressed() - && e.Handled()) + // For this event, e.Handled arrives as 'true'. + if (e.CurrentPoint().Properties().IsXButton1Pressed()) { e.Handled(!TryGoBack()); } - else if (e.CurrentPoint().Properties().IsXButton2Pressed() - && e.Handled()) + else if (e.CurrentPoint().Properties().IsXButton2Pressed()) { e.Handled(!TryGoForward()); } @@ -628,14 +624,12 @@ private void System_BackRequested(object sender, BackRequestedEventArgs e) // Handle mouse back button. private void CoreWindow_PointerPressed(CoreWindow sender, PointerEventArgs e) { - // For this event, e.Handled arrives as 'true', so invert the value. - if (e.CurrentPoint.Properties.IsXButton1Pressed - && e.Handled) + // For this event, e.Handled arrives as 'true'. + if (e.CurrentPoint.Properties.IsXButton1Pressed) { e.Handled = !TryGoBack(); } - else if (e.CurrentPoint.Properties.IsXButton2Pressed - && e.Handled) + else if (e.CurrentPoint.Properties.IsXButton2Pressed) { e.Handled = !TryGoForward(); } @@ -762,14 +756,12 @@ private: // Handle mouse forward and back buttons. void CoreWindow_PointerPressed(CoreWindow const& /* sender */, PointerEventArgs const& e) { - // For this event, e.Handled arrives as 'true', so invert the value. - if (e.CurrentPoint().Properties().IsXButton1Pressed() - && e.Handled()) + // For this event, e.Handled arrives as 'true'. + if (e.CurrentPoint().Properties().IsXButton1Pressed()) { e.Handled(!TryGoBack()); } - else if (e.CurrentPoint().Properties().IsXButton2Pressed() - && e.Handled()) + else if (e.CurrentPoint().Properties().IsXButton2Pressed()) { e.Handled(!TryGoForward()); } diff --git a/windows-apps-src/design/controls-and-patterns/navigationview.md b/windows-apps-src/design/controls-and-patterns/navigationview.md index bbe1e5ec89..7f92a48b91 100644 --- a/windows-apps-src/design/controls-and-patterns/navigationview.md +++ b/windows-apps-src/design/controls-and-patterns/navigationview.md @@ -427,7 +427,7 @@ The example demonstrates a recommended way to set up navigation data that will w This code assumes that your app contains pages with the following names to navigate to: *HomePage*, *AppsPage*, *GamesPage*, *MusicPage*, *MyContentPage*, and *SettingsPage*. Code for these pages is not shown. > [!IMPORTANT] -> Information about the app's pages is stored in a [ValueTuple](/dotnet/api/system.valuetuple). This struct requires that the minimum version for your app project must be SDK 17763 or greater. If you use the WinUI version of NavigationView to target earlier versions of Windows 10, you can use the [System.ValueTuple NuGet package](https://www.nuget.org/packages/System.ValueTuple/) instead. +> The C# version of this example uses a [ValueTuple](/dotnet/api/system.valuetuple) to store information about the app's pages. This struct requires that the minimum version for your app project must be SDK 17763 or greater. If you use the WinUI version of NavigationView to target earlier versions of Windows 10, you can use the [System.ValueTuple NuGet package](https://www.nuget.org/packages/System.ValueTuple/) instead. > [!IMPORTANT] > This code shows how to use the [Windows UI Library](/uwp/toolkits/winui/) version of NavigationView. If you use the platform version of NavigationView instead, the minimum version for your app project must be SDK 17763 or greater. To use the platform version, remove all references to `muxc:`. diff --git a/windows-apps-src/design/globalizing/globalizing-portal.md b/windows-apps-src/design/globalizing/globalizing-portal.md index 5eaf85656b..734a24674a 100644 --- a/windows-apps-src/design/globalizing/globalizing-portal.md +++ b/windows-apps-src/design/globalizing/globalizing-portal.md @@ -61,6 +61,6 @@ Most localization teams use special tools to aid the process. For example, by re | [International fonts](loc-international-fonts.md) | This topic lists the fonts available for Windows apps that are localized into languages other than U.S. English. | | [Design your app for bidirectional text](design-for-bidi-text.md) | Design your app to provide bi-directional text support (BiDi) so that you can combine script from left-to-right and right-to-left writing systems. | | [Use the Multilingual App Toolkit 4.0](use-mat.md) | The Multilingual App Toolkit (MAT) 4.0 integrates with Microsoft Visual Studio 2017 and later to provide Windows apps with translation support, translation file management, and editor tools. | -| [Multilingual App Toolkit 4.0 FAQ & troubleshooting](mat-faq-troubleshooting.md) | This topic provides answers to frequently-asked questions and issues related to the Multilingual App Toolkit (MAT) 4.0. | +| [Multilingual App Toolkit 4.0 FAQ & troubleshooting](mat-faq-troubleshooting.yml) | This topic provides answers to frequently-asked questions and issues related to the Multilingual App Toolkit (MAT) 4.0. | | [Use the UTF-8 code page](use-utf8-code-page.md) | UTF-8 is the universal code page for internationalization. | | [Prepare your application for the Japanese era change](japanese-era-change.md) | Learn about the May 2019 Japanese era change and how to prepare your application. | diff --git a/windows-apps-src/design/globalizing/mat-faq-troubleshooting.md b/windows-apps-src/design/globalizing/mat-faq-troubleshooting.md deleted file mode 100644 index 4b3c4fb07d..0000000000 --- a/windows-apps-src/design/globalizing/mat-faq-troubleshooting.md +++ /dev/null @@ -1,176 +0,0 @@ ---- -description: This topic provides answers to frequently-asked questions and issues related to the Multilingual App Toolkit (MAT) 4.0. -title: Multilingual App Toolkit FAQ & troubleshooting -template: detail.hbs -ms.date: 11/13/2017 -ms.topic: article -keywords: windows 10, uwp, globalization, localizability, localization -ms.localizationpriority: medium ---- -# Multilingual App Toolkit 4.0 FAQ & troubleshooting - -This topic provides answers to frequently-asked questions and issues related to the Multilingual App Toolkit (MAT) 4.0. - -Also see [Use the Multilingual App Toolkit 4.0](use-mat.md). - -**Note** The toolkit supports both .resw (XAML) and .resjson (JavaScript) files. But in this topic we'll refer only to .resw files. A .resw file is known as a Resources File. It contains strings, either in the default language or translated into another language. The folder that contains a .resw file is typically named for the value of a language tag. - -## Do I need .resw files in multiple languages? - -No. One of the key benefits of the Toolkit is that .resw files in multiple languages are not required. The Toolkit manages and synchronizes your app's resources by using .xlf files. This removes the challenges associated with keeping content synchronized across multiple .resw files. - -Projects that contain matching .resw and .xlf files cause the translations from the .xlf file to be ignored. When this happens, a warning is displayed during the build to let you know that the .xlf translations are not included in the final app. A .resw file and .xlf file match when they have a target language with the same language code. An example of a matching pair would be `Strings\de-DE\Resources.resw` and an `.de-DE.xlf` file (containing `target-language="de-DE"`). - -## Can I have .resw files in multiple languages? - -You can, but we don't recommend it. If you want to include .resw files in multiple languages in your project and use the Toolkit, make sure you don't have matching .resw and .xlf files. - -## I don't see an option in the Tools menu to enable the Multilingual App Toolkit - -Try these steps. - -- Make sure you select the project node, not the solution node, before opening the **Tools** menu. -- Confirm that the toolkit extension is installed by using the Visual Studio Extension Manager. -- Confirm that your project is a UWP project. - -## When I build my project, I don't see a message saying that a Multilingual App Toolkit build has started - -Confirm that you've enabled the MAT for your project. On the **Tools** menu, select **Multilingual App Toolkit** > **Enable selection**. If your project was enabled with a previous version, then disable and re-enable the MAT by using the **Tools** menu. This updates the project to work with the new version of the Toolkit. - -Ensure that the "Build Task for all Visual Studio editions" component was installed. This build component is installed with the extension, but it can be manually deselected during the installation. This component is required to update the .xlf files and add the translation into the PRI file. When this component is installed and working correctly, you will see these build messages. - -```dosbatch -1> Multilingual App Toolkit build started. -1> Multilingual App Toolkit build completed successfully. -``` - -## The toolkit is reporting that it didn't locate any XLIFF language files during the build - -```dosbatch -No XLIFF language files were found. The app will not contain any localized resources. -``` - -This message is displayed when the toolkit doesn't find any files in the project with an extension of .xlf. The toolkit generates and keeps these files in the `MultilingualResources` folder by default. They can be moved; but it's best to leave them in that folder because that allows the Multilingual Editor to locate the related metadata files. - -## My .xlf file is not included in the list of files processed by the toolkit during build - -If you manually exclude an .xlf file from the project, and then re-include it, the file type element may not be set correctly. In Visual Studio, select the file and check the Properties window. The file's Build Action should be set to XliffResource and Copy to Output Directory should be set to Do not copy. This is how the reference should look in your project file. - -```xml - -``` - -## I've added .xlf-based languages. Where are my strings? - -Your default language Resources File (.resw) is your canonical "schema" of the strings that your app uses. Translated Resources Files can contain all, or a subset of, these strings. - -When you build your project, your Resources Files and your .xlf files are synchronized. - -- The .xlf files are updated to reflect any added or removed string, or added or removed Resources Files. -- The Resources Files are updated to reflected any translated strings in the .xlf files. - -This is explained in detail in [Use the Multilingual App Toolkit 4.0](use-mat.md). - -## When I build my project, the .xlf files remain empty - -Before you can use the MAT effectively, your app needs to be localizable. This is explained in detail in [Use the Multilingual App Toolkit 4.0](use-mat.md). - -## What is Microsoft Translator? - -Microsoft Translator is a cloud-based service that provides machine-based translation. Machine translation is ideal for gaining access to translation when human translation is not reasonable to obtain. You can learn more at [Microsoft Translator](https://www.microsofttranslator.com/). - -The Toolkit uses the Microsoft Translator service to provide translation suggestions to you. You can see which languages are supported by Microsoft Translator when the Microsoft Translator icon is present in the Translation Languages dialog. - -You can quickly translate your app using Microsoft Translator from within the Multilingual Editor by selecting a string and clicking **Translate**. - -## What is pseudo language, and what are pseudo resource trackers? - -Pseudo language is an artificial modification of the software product intended to simulate real language localization. You can find more details about pseudo language and pseudo resource trackers in [Use the Multilingual App Toolkit 4.0](use-mat.md). - -## How do I set my language preference to pseudo language, so that I can test my pseudo-loc'd strings? - -This is explained in [Use the Multilingual App Toolkit 4.0](use-mat.md). - -## What kind of localizability issues can I find using pseudo language? - -This is explained in [Use the Multilingual App Toolkit 4.0](use-mat.md). - -## I'm not seeing any translations when I launch my app, or my app is only partially translated - -Open the .xlf file in the Multilingual Editor to see whether the translations are present. When strings in the default language .resw file are changed explicitly, any corresponding translations are removed from .xlf files. This is to ensure that a translation matches its source string. Translate the string(s) in the .xlf file(s), and rebuild to update the non-default language .resw file(s). - -If your strings are translated in the .xlf file(s), but they're not appearing in your app, then rebuild your project to update the non-default language .resw file(s). Visual Studio optimizes the Build command to build only files that have changed since the last Build. - -Check your language preference order. Ensure that the language you want to test is listed at the top of your language preference list in **Settings**. - -## The toolkit is reporting error 0x80004004 in the build output - -```dosbatch -Merge of Loc PRI file failed calling makepri.exe: "0x80004004" -``` - -This message can be displayed when the region format conflicts with the toolkit build operation. The workaround is to change your language in **Settings** to en-US while building. - - -## The toolkit is reporting error 0x80004005 in the build output - -```dosbatch -Merge of Loc PRI file failed calling makepri.exe: "0x80004005" -``` - -This message can be displayed when the .xlf file contains an unsupported target language. For example, "zh-cht" is incorrect (change it to "zh-hant"), and "zh-chs" is incorrect (change it to "zh-hans"). - -## Is there a way to find out more information about the errors I'm seeing? - -Yes, you can turn on verbose logging in Visual Studio. Click **Tools** > **Options** > **Projects and Solutions** > **Build and Run**. Change **MSBuild project build output verbosity** from Minimal to Normal or higher. - -Running MSBuild from the command line can also produce additional messages. - -```dosbatch -msbuild /t:rebuild -``` - -## Import translation failed - -The import process performs basic validation before importing. This ensures that the target culture information in the files being imported matches that in the existing .xlf files. Open the .xlf files in the Multilingual Editor and make sure that the culture information matches. - -## What if my translator doesn't have Windows 10, and/or Visual Studio and/or the Multilingual App Toolkit installed? - -When you select **Output: Mail recipient** in the Export string resources dialog, the email includes a link to download and install the Multilingual App Toolkit (MAT) 4.0. Your translator can still install the MAT 4.0 standalone Multilingual Editor tool even without Windows 10 nor Visual Studio. - -For more details, see [Use the Multilingual App Toolkit 4.0](use-mat.md). - -## What happened to the `MarkupRules.xml` and `ResourcesLocks.xml` files? - -The Multilingual App Toolkit 4.0 doesn't use proprietary resource locking files. Instead, the XLIFF 1.2 tag `` is added directly to the .xlf file to identify strings that are not modified during Machine Translation. This enables the XLIFF file to be self-contained, and allows for per-file based resource locking. - -These extra support files are no longer needed and you can safely delete them if you have them. - -## What happened to the .tpx file? - -The .tpx file provided an easy way to include the `MarkupRules.xml` and `ResourcesLocks.xml` files when the .xlf file was sent out for translation. This functionality is no longer required. - -If you have translations in a .tpx file that you need to retrieve, simply rename the .tpx file extension to .zip. This will allow you to open and extract the contents with File Explorer or any .zip compatible tool. - -## I think I've done everything right, but it still isn't working - -Try these steps. - -1. Add translations using one of the methods already described. -2. Dump the .pri file (see [MakePri.exe command-line options](../../app-resources/makepri-exe-command-options.md)) to see whether your translations are in the .pri file. Translations will appear with language code and translated value like this. - ```xml - - [!!_Ŝéãřćĥ_!!] - - ``` -3. Build from a Command Prompt; the resulting error may have more details than what is reported in the build output. - -## My app failed certification to the Microsoft Store - -Before you start the Microsoft Store Certification process, you must exclude the `.qps-ploc.xlf` file from your project. Pseudo language is used to detect potential localizability issues or bugs, but it is not a valid Microsoft Store language. If it is not removed then your app will fail during the Microsoft Store Certification process. - -## Related topics - -* [Use the Multilingual App Toolkit 4.0](use-mat.md) -* [Microsoft Translator](https://www.microsofttranslator.com/) -* [MakePri.exe command-line options](../../app-resources/makepri-exe-command-options.md) diff --git a/windows-apps-src/design/globalizing/mat-faq-troubleshooting.yml b/windows-apps-src/design/globalizing/mat-faq-troubleshooting.yml new file mode 100644 index 0000000000..35dd116b35 --- /dev/null +++ b/windows-apps-src/design/globalizing/mat-faq-troubleshooting.yml @@ -0,0 +1,206 @@ +### YamlMime:FAQ +metadata: + description: This topic provides answers to frequently-asked questions and issues related to the Multilingual App Toolkit (MAT) 4.0. + title: Multilingual App Toolkit FAQ & troubleshooting + template: detail.hbs + ms.date: 11/13/2017 + ms.topic: article + keywords: windows 10, uwp, globalization, localizability, localization + ms.localizationpriority: medium + +title: Multilingual App Toolkit 4.0 FAQ & troubleshooting +summary: | + This topic provides answers to frequently-asked questions and issues related to the Multilingual App Toolkit (MAT) 4.0. + + Also see [Use the Multilingual App Toolkit 4.0](use-mat.md). + + **Note** The toolkit supports both .resw (XAML) and .resjson (JavaScript) files. But in this topic we'll refer only to .resw files. A .resw file is known as a Resources File. It contains strings, either in the default language or translated into another language. The folder that contains a .resw file is typically named for the value of a language tag. + + +sections: + - name: Ignored + questions: + - question: | + Do I need .resw files in multiple languages? + answer: | + No. One of the key benefits of the Toolkit is that .resw files in multiple languages are not required. The Toolkit manages and synchronizes your app's resources by using .xlf files. This removes the challenges associated with keeping content synchronized across multiple .resw files. + + Projects that contain matching .resw and .xlf files cause the translations from the .xlf file to be ignored. When this happens, a warning is displayed during the build to let you know that the .xlf translations are not included in the final app. A .resw file and .xlf file match when they have a target language with the same language code. An example of a matching pair would be `Strings\de-DE\Resources.resw` and an `.de-DE.xlf` file (containing `target-language="de-DE"`). + + - question: | + Can I have .resw files in multiple languages? + answer: | + You can, but we don't recommend it. If you want to include .resw files in multiple languages in your project and use the Toolkit, make sure you don't have matching .resw and .xlf files. + + - question: | + I don't see an option in the Tools menu to enable the Multilingual App Toolkit + answer: | + Try these steps. + + - Make sure you select the project node, not the solution node, before opening the **Tools** menu. + - Confirm that the toolkit extension is installed by using the Visual Studio Extension Manager. + - Confirm that your project is a UWP project. + + - question: | + When I build my project, I don't see a message saying that a Multilingual App Toolkit build has started + answer: | + Confirm that you've enabled the MAT for your project. On the **Tools** menu, select **Multilingual App Toolkit** > **Enable selection**. If your project was enabled with a previous version, then disable and re-enable the MAT by using the **Tools** menu. This updates the project to work with the new version of the Toolkit. + + Ensure that the "Build Task for all Visual Studio editions" component was installed. This build component is installed with the extension, but it can be manually deselected during the installation. This component is required to update the .xlf files and add the translation into the PRI file. When this component is installed and working correctly, you will see these build messages. + + ```dosbatch + 1> Multilingual App Toolkit build started. + 1> Multilingual App Toolkit build completed successfully. + ``` + + - question: | + The toolkit is reporting that it didn't locate any XLIFF language files during the build + answer: | + ```dosbatch + No XLIFF language files were found. The app will not contain any localized resources. + ``` + + This message is displayed when the toolkit doesn't find any files in the project with an extension of .xlf. The toolkit generates and keeps these files in the `MultilingualResources` folder by default. They can be moved; but it's best to leave them in that folder because that allows the Multilingual Editor to locate the related metadata files. + + - question: | + My .xlf file is not included in the list of files processed by the toolkit during build + answer: | + If you manually exclude an .xlf file from the project, and then re-include it, the file type element may not be set correctly. In Visual Studio, select the file and check the Properties window. The file's Build Action should be set to XliffResource and Copy to Output Directory should be set to Do not copy. This is how the reference should look in your project file. + + ```xml + + ``` + + - question: | + I've added .xlf-based languages. Where are my strings? + answer: | + Your default language Resources File (.resw) is your canonical "schema" of the strings that your app uses. Translated Resources Files can contain all, or a subset of, these strings. + + When you build your project, your Resources Files and your .xlf files are synchronized. + + - The .xlf files are updated to reflect any added or removed string, or added or removed Resources Files. + - The Resources Files are updated to reflected any translated strings in the .xlf files. + + This is explained in detail in [Use the Multilingual App Toolkit 4.0](use-mat.md). + + - question: | + When I build my project, the .xlf files remain empty + answer: | + Before you can use the MAT effectively, your app needs to be localizable. This is explained in detail in [Use the Multilingual App Toolkit 4.0](use-mat.md). + + - question: | + What is Microsoft Translator? + answer: | + Microsoft Translator is a cloud-based service that provides machine-based translation. Machine translation is ideal for gaining access to translation when human translation is not reasonable to obtain. You can learn more at [Microsoft Translator](https://www.microsofttranslator.com/). + + The Toolkit uses the Microsoft Translator service to provide translation suggestions to you. You can see which languages are supported by Microsoft Translator when the Microsoft Translator icon is present in the Translation Languages dialog. + + You can quickly translate your app using Microsoft Translator from within the Multilingual Editor by selecting a string and clicking **Translate**. + + - question: | + What is pseudo language, and what are pseudo resource trackers? + answer: | + Pseudo language is an artificial modification of the software product intended to simulate real language localization. You can find more details about pseudo language and pseudo resource trackers in [Use the Multilingual App Toolkit 4.0](use-mat.md). + + - question: | + How do I set my language preference to pseudo language, so that I can test my pseudo-loc'd strings? + answer: | + This is explained in [Use the Multilingual App Toolkit 4.0](use-mat.md). + + - question: | + What kind of localizability issues can I find using pseudo language? + answer: | + This is explained in [Use the Multilingual App Toolkit 4.0](use-mat.md). + + - question: | + I'm not seeing any translations when I launch my app, or my app is only partially translated + answer: | + Open the .xlf file in the Multilingual Editor to see whether the translations are present. When strings in the default language .resw file are changed explicitly, any corresponding translations are removed from .xlf files. This is to ensure that a translation matches its source string. Translate the string(s) in the .xlf file(s), and rebuild to update the non-default language .resw file(s). + + If your strings are translated in the .xlf file(s), but they're not appearing in your app, then rebuild your project to update the non-default language .resw file(s). Visual Studio optimizes the Build command to build only files that have changed since the last Build. + + Check your language preference order. Ensure that the language you want to test is listed at the top of your language preference list in **Settings**. + + - question: | + The toolkit is reporting error 0x80004004 in the build output + answer: | + ```dosbatch + Merge of Loc PRI file failed calling makepri.exe: "0x80004004" + ``` + + This message can be displayed when the region format conflicts with the toolkit build operation. The workaround is to change your language in **Settings** to en-US while building. + + + - question: | + The toolkit is reporting error 0x80004005 in the build output + answer: | + ```dosbatch + Merge of Loc PRI file failed calling makepri.exe: "0x80004005" + ``` + + This message can be displayed when the .xlf file contains an unsupported target language. For example, "zh-cht" is incorrect (change it to "zh-hant"), and "zh-chs" is incorrect (change it to "zh-hans"). + + - question: | + Is there a way to find out more information about the errors I'm seeing? + answer: | + Yes, you can turn on verbose logging in Visual Studio. Click **Tools** > **Options** > **Projects and Solutions** > **Build and Run**. Change **MSBuild project build output verbosity** from Minimal to Normal or higher. + + Running MSBuild from the command line can also produce additional messages. + + ```dosbatch + msbuild /t:rebuild + ``` + + - question: | + Import translation failed + answer: | + The import process performs basic validation before importing. This ensures that the target culture information in the files being imported matches that in the existing .xlf files. Open the .xlf files in the Multilingual Editor and make sure that the culture information matches. + + - question: | + What if my translator doesn't have Windows 10, and/or Visual Studio and/or the Multilingual App Toolkit installed? + answer: | + When you select **Output: Mail recipient** in the Export string resources dialog, the email includes a link to download and install the Multilingual App Toolkit (MAT) 4.0. Your translator can still install the MAT 4.0 standalone Multilingual Editor tool even without Windows 10 nor Visual Studio. + + For more details, see [Use the Multilingual App Toolkit 4.0](use-mat.md). + + - question: | + What happened to the `MarkupRules.xml` and `ResourcesLocks.xml` files? + answer: | + The Multilingual App Toolkit 4.0 doesn't use proprietary resource locking files. Instead, the XLIFF 1.2 tag `` is added directly to the .xlf file to identify strings that are not modified during Machine Translation. This enables the XLIFF file to be self-contained, and allows for per-file based resource locking. + + These extra support files are no longer needed and you can safely delete them if you have them. + + - question: | + What happened to the .tpx file? + answer: | + The .tpx file provided an easy way to include the `MarkupRules.xml` and `ResourcesLocks.xml` files when the .xlf file was sent out for translation. This functionality is no longer required. + + If you have translations in a .tpx file that you need to retrieve, simply rename the .tpx file extension to .zip. This will allow you to open and extract the contents with File Explorer or any .zip compatible tool. + + - question: | + I think I've done everything right, but it still isn't working + answer: | + Try these steps. + + 1. Add translations using one of the methods already described. + 2. Dump the .pri file (see [MakePri.exe command-line options](../../app-resources/makepri-exe-command-options.md)) to see whether your translations are in the .pri file. Translations will appear with language code and translated value like this. + ```xml + + [!!_Ŝéãřćĥ_!!] + + ``` + 3. Build from a Command Prompt; the resulting error may have more details than what is reported in the build output. + + - question: | + My app failed certification to the Microsoft Store + answer: | + Before you start the Microsoft Store Certification process, you must exclude the `.qps-ploc.xlf` file from your project. Pseudo language is used to detect potential localizability issues or bugs, but it is not a valid Microsoft Store language. If it is not removed then your app will fail during the Microsoft Store Certification process. + + +additionalContent: | + + ## Related topics + + * [Use the Multilingual App Toolkit 4.0](use-mat.md) + * [Microsoft Translator](https://www.microsofttranslator.com/) + * [MakePri.exe command-line options](../../app-resources/makepri-exe-command-options.md) \ No newline at end of file diff --git a/windows-apps-src/design/style/reveal-focus.md b/windows-apps-src/design/style/reveal-focus.md index 80508fe12d..50fd8ed1b2 100644 --- a/windows-apps-src/design/style/reveal-focus.md +++ b/windows-apps-src/design/style/reveal-focus.md @@ -16,7 +16,7 @@ ms.localizationpriority: medium Reveal Focus is a lighting effect for [10-foot experiences](../devices/designing-for-tv.md), such as Xbox One and television screens. It animates the border of focusable elements, such as buttons, when the user moves gamepad or keyboard focus to them. It's turned off by default, but it's simple to enable. -(For the Reveal Highlight effect, a lighting affect that highlights interactive elements, see the [Reveal Highlight article](./reveal.md).) +(For the Reveal Highlight effect, a lighting affect that highlights interactive elements, see the [Reveal Highlight article](./index.md).) > **Important APIs**: [Application.FocusVisualKind property](/uwp/api/windows.ui.xaml.application.FocusVisualKind), [FocusVisualKind enum](/uwp/api/windows.ui.xaml.focusvisualkind), [Control.UseSystemFocusVisuals property](/uwp/api/Windows.UI.Xaml.Controls.Control.UseSystemFocusVisuals) @@ -166,10 +166,10 @@ Reveal Focus is a Fluent Design System component that adds light to your app. To ## Related articles -- [Reveal Highlight](./reveal.md) +- [Reveal Highlight](./index.md) - [Designing for Xbox and TV](../devices/designing-for-tv.md) - [Gamepad and remote control interactions](../input/gamepad-and-remote-interactions.md) - [Focus visuals sample](https://github.com/Microsoft/Windows-universal-samples/tree/master/Samples/XamlFocusVisuals) - [Composition Effects](../../composition/composition-effects.md) - [Science in the System: Fluent Design and Depth](https://medium.com/microsoft-design/science-in-the-system-fluent-design-and-depth-fb6d0f23a53f) -- [Science in the System: Fluent Design and Light](https://medium.com/microsoft-design/the-science-in-the-system-fluent-design-and-light-94a17e0b3a4f) +- [Science in the System: Fluent Design and Light](https://medium.com/microsoft-design/the-science-in-the-system-fluent-design-and-light-94a17e0b3a4f) \ No newline at end of file diff --git a/windows-apps-src/design/toc.yml b/windows-apps-src/design/toc.yml index 8b2a3699d3..c1381f17fc 100644 --- a/windows-apps-src/design/toc.yml +++ b/windows-apps-src/design/toc.yml @@ -597,7 +597,7 @@ - name: Use the Multilingual App Toolkit 4.0 href: globalizing/use-mat.md - name: Multilingual App Toolkit 4.0 FAQ & troubleshooting - href: globalizing/mat-faq-troubleshooting.md + href: globalizing/mat-faq-troubleshooting.yml - name: Use the UTF-8 code page href: globalizing/use-utf8-code-page.md - name: Prepare your application for the Japanese era change diff --git a/windows-apps-src/develop/toc.yml b/windows-apps-src/develop/toc.yml index 97b9926d92..74213ce3f0 100644 --- a/windows-apps-src/develop/toc.yml +++ b/windows-apps-src/develop/toc.yml @@ -1277,7 +1277,7 @@ - name: Advertisements href: ../devices-sensors/ble-beacon.md - name: Bluetooth developer FAQ - href: ../devices-sensors/bluetooth-dev-faq.md + href: ../devices-sensors/bluetooth-dev-faq.yml - name: Printing and scanning href: ../devices-sensors/printing-and-scanning.md items: diff --git a/windows-apps-src/devices-sensors/bluetooth-dev-faq.md b/windows-apps-src/devices-sensors/bluetooth-dev-faq.md deleted file mode 100644 index 22beb1f1cf..0000000000 --- a/windows-apps-src/devices-sensors/bluetooth-dev-faq.md +++ /dev/null @@ -1,81 +0,0 @@ ---- -title: Bluetooth developer FAQ -description: This article contains answers to commonly asked questions related to the UWP bluetooth APIs. -ms.date: 09/25/2020 -ms.topic: article -keywords: windows 10, uwp -ms.assetid: e7dee32d-3756-430d-a026-32c1ee288a85 -ms.localizationpriority: medium ---- -# Bluetooth Developer FAQ - -This article contains answers to commonly asked UWP Bluetooth API questions. - -## What APIs do I use? Bluetooth Classic (RFCOMM) or Bluetooth Low Energy (GATT)? -There are various discussions online around this general topic so let's keep this answer squarely on the difference with respect to Windows. Here are some general guidelines: - -### Bluetooth LE (Windows.Devices.Bluetooth.GenericAttributeProfile) - -Use the GATT APIs when you are communicating with a device that supports Bluetooth Low Energy. If your use case is infrequent, low bandwidth, or requires low power, Bluetooth Low Energy is the answer. The main namespace that includes this functionality is [Windows.Devices.Bluetooth.GenericAttributeProfile](/uwp/api/Windows.Devices.Bluetooth.GenericAttributeProfile). - -**When not to use Bluetooth LE** -- High bandwidth, high frequency scenarios. If you need to constantly keep sync with large amounts of data, consider using Bluetooth classic or maybe even WiFi. - -### Bluetooth Classic (Windows.Devices.Bluetooth.Rfcomm) - -The RFCOMM APIs give developers a socket to perform bidirectional serial port-style communication. Once you've got a socket, the methods for writing and reading are fairly standard. An implementation of this is presented in the [Rfcomm Chat sample](https://github.com/Microsoft/Windows-universal-samples/tree/dev/Samples/BluetoothRfcommChat). - -**When not to use Bluetooth Rfcomm** -- Notifications. The Bluetooth GATT protocol has a specific command for this and will result in significantly less power draw and faster response times. -- Checking for proximity or presence detection. Better to use the [Advertisement APIs](/uwp/api/windows.devices.bluetooth.advertisement) and connect over Bluetooth LE. - - -## Why does my Bluetooth LE Device stop responding after a disconnect? - -The most common reason this occurs is because the remote device has lost pairing information. A large number of older Bluetooth devices don't require authentication. To protect the user, all pairing transactions performed from the Settings application will require authentication, and some devices were not designed with this in mind. - -Starting with Windows 10 release 1511, developers have control over the pairing handshake. The [Device Enumeration and Pairing Sample](https://github.com/Microsoft/Windows-universal-samples/tree/master/Samples/DeviceEnumerationAndPairing) details the various aspects of associating new devices. - -In this example, we initiate pairing with a device using no encryption. Note, this will only work if the remote device does not require encryption or authentication to function. - -```csharp -// Get ceremony type and protection level selections -// You must select at least ConfirmOnly or the pairing attempt will fail - DevicePairingKinds ceremonySelected = DevicePairingKinds.ConfirmOnly; - -// Workaround remote devices losing pairing information - DevicePairingProtectionLevel protectionLevel = DevicePairingProtectionLevel.None - - DeviceInformationCustomPairing customPairing = deviceInfoDisp.DeviceInformation.Pairing.Custom; - -// Declare an event handler - you don't need to do much in PairingRequestedHandler since the ceremony is "None" - customPairing.PairingRequested += PairingRequestedHandler; - DevicePairingResult result = await customPairing.PairAsync(ceremonySelected, protectionLevel); -``` - -## Do I have to pair Bluetooth devices before using them? - -You don't have to pair devices before using them if leveraging Bluetooth RFCOMM (classic). Starting with Windows 10 release 1607, you can simply query for nearby devices and connect to them. The updated [RFCOMM Chat Sample](https://github.com/Microsoft/Windows-universal-samples/tree/dev/Samples/BluetoothRfcommChat) shows this functionality. - -**(14393 and below)** This feature is not available for Bluetooth Low Energy (GATT Client), so you will still have to pair either through the Settings page or using the [Windows.Devices.Enumeration](/uwp/api/windows.devices.enumeration) APIs in order to access these devices. - -**(15030 and above)** Pairing Bluetooth devices is no longer needed. Use the new Async APIs like GetGattServicesAsync and GetCharacteristicsAsync in order to query the current state of the remote device. See the [Client docs](gatt-client.md) for more details. - -## When should I pair with a device before communicating with it? -Generally, if you require a trusted, long-term bond with a device, pair with it by either directing the user to the settings page or using the Device Enumeration and Pairing APIs. If you simply need to read information from the device that is exposed publicly (a temperature sensor or beacon), then connect or listen for advertisements without making any effort to pair with the device. This will prevent interoperability problems in the long run, because a large number of devices do not support pairing. - -## Do all Windows devices support Peripheral Role? - -No. This is a hardware-dependent feature, but a method is provided, BluetoothAdapter.IsPeripheralRoleSupported, to query whether it is supported or not. Currently supported devices include Windows Phone on 8992+ and RPi3 (Windows IoT). - -## Can I access these APIs from Win32? - -Yes, all these APIs should work. This blog details the way to call [Windows APIs from Desktop applications](https://blogs.windows.com/buildingapps/2017/01/25/calling-windows-10-apis-desktop-application/). - -## Is this functionality supposed to exist on a specific SKU? - -**Bluetooth LE**: Yes, all functionality is in OneCore and should be available on most recent devices w/ a functioning Bluetooth LE stack. - -> Caveat: Peripheral Role is hardware-dependent and some Windows Server Editions don't support Bluetooth. - -**Bluetooth BR/EDR (Classic)**: Some variations exist but mostly, they have very similar profile level support. See the docs on [RFCOMM](send-or-receive-files-with-rfcomm.md) and these supported profile documents for [PC](https://support.microsoft.com/help/10568/windows-10-supported-bluetooth-profiles) and [Phone](https://support.microsoft.com/help/10569/windows-10-mobile-supported-bluetooth-profiles) \ No newline at end of file diff --git a/windows-apps-src/devices-sensors/bluetooth-dev-faq.yml b/windows-apps-src/devices-sensors/bluetooth-dev-faq.yml new file mode 100644 index 0000000000..71e79ba353 --- /dev/null +++ b/windows-apps-src/devices-sensors/bluetooth-dev-faq.yml @@ -0,0 +1,94 @@ +### YamlMime:FAQ +metadata: + title: Bluetooth developer FAQ + description: This article contains answers to commonly asked questions related to the UWP bluetooth APIs. + ms.date: 09/25/2020 + ms.topic: article + keywords: windows 10, uwp + ms.assetid: e7dee32d-3756-430d-a026-32c1ee288a85 + ms.localizationpriority: medium + +title: Bluetooth Developer FAQ +summary: This article contains answers to commonly asked UWP Bluetooth API questions. + + +sections: + - name: Ignored + questions: + - question: | + What APIs do I use? Bluetooth Classic (RFCOMM) or Bluetooth Low Energy (GATT)? + answer: | + There are various discussions online around this general topic so let's keep this answer squarely on the difference with respect to Windows. Here are some general guidelines: + + ### Bluetooth LE (Windows.Devices.Bluetooth.GenericAttributeProfile) + + Use the GATT APIs when you are communicating with a device that supports Bluetooth Low Energy. If your use case is infrequent, low bandwidth, or requires low power, Bluetooth Low Energy is the answer. The main namespace that includes this functionality is [Windows.Devices.Bluetooth.GenericAttributeProfile](/uwp/api/Windows.Devices.Bluetooth.GenericAttributeProfile). + + **When not to use Bluetooth LE** + - High bandwidth, high frequency scenarios. If you need to constantly keep sync with large amounts of data, consider using Bluetooth classic or maybe even WiFi. + + ### Bluetooth Classic (Windows.Devices.Bluetooth.Rfcomm) + + The RFCOMM APIs give developers a socket to perform bidirectional serial port-style communication. Once you've got a socket, the methods for writing and reading are fairly standard. An implementation of this is presented in the [Rfcomm Chat sample](https://github.com/Microsoft/Windows-universal-samples/tree/dev/Samples/BluetoothRfcommChat). + + **When not to use Bluetooth Rfcomm** + - Notifications. The Bluetooth GATT protocol has a specific command for this and will result in significantly less power draw and faster response times. + - Checking for proximity or presence detection. Better to use the [Advertisement APIs](/uwp/api/windows.devices.bluetooth.advertisement) and connect over Bluetooth LE. + + + - question: | + Why does my Bluetooth LE Device stop responding after a disconnect? + answer: | + The most common reason this occurs is because the remote device has lost pairing information. A large number of older Bluetooth devices don't require authentication. To protect the user, all pairing transactions performed from the Settings application will require authentication, and some devices were not designed with this in mind. + + Starting with Windows 10 release 1511, developers have control over the pairing handshake. The [Device Enumeration and Pairing Sample](https://github.com/Microsoft/Windows-universal-samples/tree/master/Samples/DeviceEnumerationAndPairing) details the various aspects of associating new devices. + + In this example, we initiate pairing with a device using no encryption. Note, this will only work if the remote device does not require encryption or authentication to function. + + ```csharp + // Get ceremony type and protection level selections + // You must select at least ConfirmOnly or the pairing attempt will fail + DevicePairingKinds ceremonySelected = DevicePairingKinds.ConfirmOnly; + + // Workaround remote devices losing pairing information + DevicePairingProtectionLevel protectionLevel = DevicePairingProtectionLevel.None + + DeviceInformationCustomPairing customPairing = deviceInfoDisp.DeviceInformation.Pairing.Custom; + + // Declare an event handler - you don't need to do much in PairingRequestedHandler since the ceremony is "None" + customPairing.PairingRequested += PairingRequestedHandler; + DevicePairingResult result = await customPairing.PairAsync(ceremonySelected, protectionLevel); + ``` + + - question: | + Do I have to pair Bluetooth devices before using them? + answer: | + You don't have to pair devices before using them if leveraging Bluetooth RFCOMM (classic). Starting with Windows 10 release 1607, you can simply query for nearby devices and connect to them. The updated [RFCOMM Chat Sample](https://github.com/Microsoft/Windows-universal-samples/tree/dev/Samples/BluetoothRfcommChat) shows this functionality. + + **(14393 and below)** This feature is not available for Bluetooth Low Energy (GATT Client), so you will still have to pair either through the Settings page or using the [Windows.Devices.Enumeration](/uwp/api/windows.devices.enumeration) APIs in order to access these devices. + + **(15030 and above)** Pairing Bluetooth devices is no longer needed. Use the new Async APIs like GetGattServicesAsync and GetCharacteristicsAsync in order to query the current state of the remote device. See the [Client docs](gatt-client.md) for more details. + + - question: | + When should I pair with a device before communicating with it? + answer: | + Generally, if you require a trusted, long-term bond with a device, pair with it by either directing the user to the settings page or using the Device Enumeration and Pairing APIs. If you simply need to read information from the device that is exposed publicly (a temperature sensor or beacon), then connect or listen for advertisements without making any effort to pair with the device. This will prevent interoperability problems in the long run, because a large number of devices do not support pairing. + + - question: | + Do all Windows devices support Peripheral Role? + answer: | + No. This is a hardware-dependent feature, but a method is provided, BluetoothAdapter.IsPeripheralRoleSupported, to query whether it is supported or not. Currently supported devices include Windows Phone on 8992+ and RPi3 (Windows IoT). + + - question: | + Can I access these APIs from Win32? + answer: | + Yes, all these APIs should work. This blog details the way to call [Windows APIs from Desktop applications](https://blogs.windows.com/buildingapps/2017/01/25/calling-windows-10-apis-desktop-application/). + + - question: | + Is this functionality supposed to exist on a specific SKU? + answer: | + **Bluetooth LE**: Yes, all functionality is in OneCore and should be available on most recent devices w/ a functioning Bluetooth LE stack. + + > Caveat: Peripheral Role is hardware-dependent and some Windows Server Editions don't support Bluetooth. + + **Bluetooth BR/EDR (Classic)**: Some variations exist but mostly, they have very similar profile level support. See the docs on [RFCOMM](send-or-receive-files-with-rfcomm.md) and these supported profile documents for [PC](https://support.microsoft.com/help/10568/windows-10-supported-bluetooth-profiles) and [Phone](https://support.microsoft.com/help/10569/windows-10-mobile-supported-bluetooth-profiles) diff --git a/windows-apps-src/devices-sensors/bluetooth.md b/windows-apps-src/devices-sensors/bluetooth.md index 88d723a0c0..53796f23af 100644 --- a/windows-apps-src/devices-sensors/bluetooth.md +++ b/windows-apps-src/devices-sensors/bluetooth.md @@ -22,4 +22,4 @@ Before Bluetooth LE, devices commonly used this protocol to communicate using Bl Bluetooth Low Energy (LE) is a specification that defines protocols for discovery and communication between devices that have an efficient energy usage requirement. For more information including code samples, see the [Bluetooth Low Energy](bluetooth-low-energy-overview.md) topic. ## See Also -- [Bluetooth developer FAQ](bluetooth-dev-faq.md) \ No newline at end of file +- [Bluetooth developer FAQ](bluetooth-dev-faq.yml) \ No newline at end of file diff --git a/windows-apps-src/devices-sensors/printing-and-scanning.md b/windows-apps-src/devices-sensors/printing-and-scanning.md index 5973b9de4c..9e47cb38c0 100644 --- a/windows-apps-src/devices-sensors/printing-and-scanning.md +++ b/windows-apps-src/devices-sensors/printing-and-scanning.md @@ -21,7 +21,6 @@ This section describes how to print and scan from your Universal Windows app. ## Related topics -* [Design guidelines for printing]() * [//Build 2015 video: Developing apps that print in Windows 10](https://channel9.msdn.com/Events/Build/2015/2-94) * [UWP print sample](https://github.com/Microsoft/Windows-universal-samples/tree/master/Samples/Printing)   \ No newline at end of file diff --git a/windows-apps-src/gaming/directx-porting-faq.md b/windows-apps-src/gaming/directx-porting-faq.md deleted file mode 100644 index 2f71b5e7d8..0000000000 --- a/windows-apps-src/gaming/directx-porting-faq.md +++ /dev/null @@ -1,132 +0,0 @@ ---- -title: DirectX 11 porting FAQ -description: Answers to frequently-asked questions about porting games to Universal Windows Platform (UWP). -ms.assetid: 79c3b4c0-86eb-5019-97bb-5feee5667a2d -ms.date: 02/08/2017 -ms.topic: article -keywords: windows 10, uwp, games, directx 11 -ms.localizationpriority: medium ---- -# DirectX 11 porting FAQ - - - - -Answers to frequently-asked questions about porting games to Universal Windows Platform (UWP). - -## Is porting my game going to be a set of search-and-replace operations on API methods, or do I need to plan for a more thoughtful porting process? - - -Direct3D 11 is a significant upgrade from Direct3D 9. There are several paradigm shifts, including separate APIs for the virtualized graphics adapter and its context as well as a new layer of polymorphism for device resources. Your game can still use graphics hardware in essentially the same way, but you'll need to learn about the new Direct3D 11 API architecture and update each part of your graphics code to use the correct API components. See [Porting concepts and considerations](porting-considerations.md). - -## What is the new device context for? Am I supposed to replace my Direct3D 9 device with the Direct3D 11 device, the device context, or both? - - -The Direct3D device is now used to create resources in video memory, while the device context is used to set pipeline state and generate rendering commands. For more info see: [What are the most important changes since Direct3D 9?](understand-direct3d-11-1-concepts.md) - -## Do I have to update my game timer for UWP? - - -[**QueryPerformanceCounter**](/windows/desktop/api/profileapi/nf-profileapi-queryperformancecounter), along with [**QueryPerformanceFrequency**](/windows/desktop/api/profileapi/nf-profileapi-queryperformancefrequency), is still the best way to implement a game timer for UWP apps. - -You should be aware of a nuance with timers and the UWP app lifecycle. Suspend/resume is different from a player re-launching a desktop game because your game will resume a snapshot in time from when the game was last played. If a large amount of time has passed - for example, a few weeks - some game timer implementations might not behave gracefully. You can use app lifecycle events to reset your timer when the game resumes. - -Games that still use the RDTSC instruction need to upgrade. See [Game Timing and Multicore Processors](/windows/desktop/DxTechArts/game-timing-and-multicore-processors). - -## My game code is based on D3DX and DXUT. Is there anything available that can help me migrate my code? - - -The [DirectX Tool Kit (DirectXTK)](https://github.com/Microsoft/DirectXTK) community project offers helper classes for use with Direct3D 11. - -## How do I maintain code paths for the desktop and the Microsoft Store? - - -Chuck Walbourn's article series titled [Dual-use Coding Techniques for Games](https://blogs.msdn.com/b/chuckw/archive/2012/09/17/dual-use-coding-techniques-for-games.aspx) offers guidance on sharing code between the desktop and the Microsoft Store code paths. - -## How do I load image resources in my DirectX UWP app? - - -There are two API paths for loading images: - -- The content pipeline converts images into DDS files used as Direct3D texture resources. See [Using 3-D Assets in Your Game or App](/visualstudio/designers/using-3-d-assets-in-your-game-or-app). -- The [Windows Imaging Component](/windows/desktop/wic/-wic-lh) can be used to load images from a variety of formats, and can be used for Direct2D bitmaps as well as Direct3D texture resources. - -You can also use the DDSTextureLoader, and the WICTextureLoader, from the [DirectXTK](https://github.com/Microsoft/DirectXTK) or [DirectXTex](https://github.com/Microsoft/DirectXTex). - -## Where is the DirectX SDK? - - -The DirectX SDK is included as part of the Windows SDK. The most recent DirectX SDK that was separate from the Windows SDK was in June 2010. Direct3D samples are in the Code Gallery along with the rest of the Windows app samples. - -## What about DirectX redistributables? - - -The vast majority of components in the Windows SDK are already included in supported versions of the OS, or have no DLL component (such as DirectXMath). All Direct3D API components that UWP apps can use will already available to your game; you don't need to be redistribute them. - -Win32 desktop applications still use DirectSetup, so if you are also upgrading the desktop version of your game see [Direct3D 11 Deployment for Game Developers](/windows/desktop/direct3darticles/direct3d11-deployment). - -## Is there any way I can update my desktop code to DirectX 11 before moving away from Effects? - - -See the [Effects for Direct3D 11 Update](https://github.com/Microsoft/FX11). Effects 11 helps remove dependencies on legacy DirectX SDK headers; it's intended for use as a porting aid and can only be used with desktop apps. - -## Is there a path for porting my DirectX 8 game to UWP? - - -Yes: - -- Read [Converting to Direct3D 9](/windows/desktop/direct3d9/converting-to-directx-9). -- Make sure your game has no remnants of the fixed pipeline - see [Deprecated Features](/windows/desktop/direct3d10/d3d10-graphics-programming-guide-api-features-deprecated). -- Then take the DirectX 9 porting path: [Port from D3D 9 to UWP](walkthrough--simple-port-from-direct3d-9-to-11-1.md). - -## Can I port my DirectX 10 or 11 game to UWP? - - -DirectX 10.x and 11 desktop games are easy to port to UWP. See [Migrating to Direct3D 11](/windows/desktop/direct3d11/d3d11-programming-guide-migrating). - -## How do I choose the right display device in a multi-monitor system? - - -The user selects which monitor your app is displayed on. Let Windows provide the correct adapter by calling [**D3D11CreateDevice**](/windows/desktop/api/d3d11/nf-d3d11-d3d11createdevice) with the first parameter set to **nullptr**. Then get the device's [**IDXGIDevice interface**](/windows/desktop/api/dxgi/nn-dxgi-idxgidevice), call [**GetAdapter**](/windows/desktop/api/dxgi/nf-dxgi-idxgidevice-getadapter) and use the DXGI adapter to create the swap chain. - -## How do I turn on antialiasing? - - -Antialiasing (multisampling) is enabled when you create the Direct3D device. Enumerate multisampling support by calling [**CheckMultisampleQualityLevels**](/windows/desktop/api/d3d11/nf-d3d11-id3d11device-checkmultisamplequalitylevels), then set multisample options in the [**DXGI\_SAMPLE\_DESC structure**](/windows/desktop/api/dxgicommon/ns-dxgicommon-dxgi_sample_desc) when you call [**CreateSurface**](/windows/desktop/api/dxgi/nf-dxgi-idxgidevice-createsurface). - -## My game renders using multithreading and/or deferred rendering. What do I need to know for Direct3D 11? - - -Visit [Introduction to Multithreading in Direct3D 11](/windows/desktop/direct3d11/overviews-direct3d-11-render-multi-thread-intro) to get started. For a list of key differences, see [Threading Differences between Direct3D Versions](/windows/desktop/direct3d11/overviews-direct3d-11-render-multi-thread-differences). Note that deferred rendering uses a device *deferred context* instead of an *immediate context*. - -## Where can I read more about the programmable pipeline since Direct3D 9? - - -Visit the following topics: - -- [Programming Guide for HLSL](/windows/desktop/direct3dhlsl/dx-graphics-hlsl-pguide) -- [Direct3D 10 Frequently Asked Questions](/windows/desktop/DxTechArts/direct3d10-frequently-asked-questions) - -## What should I use instead of the .x file format for my models? - - -While we don't have an official replacement for the .x file format, many of the samples utilize the SDKMesh format. Visual Studio also has a [content pipeline](/visualstudio/designers/using-3-d-assets-in-your-game-or-app) that compiles several popular formats into CMO files that can be loaded with code from the Visual Studio 3D starter kit, or loaded using the [DirectXTK](https://github.com/Microsoft/DirectXTK). - -## How do I debug my shaders? - - -Microsoft Visual Studio includes diagnostic tools for DirectX graphics. See [Debugging DirectX Graphics](/visualstudio/debugger/visual-studio-graphics-diagnostics). - -## What is the Direct3D 11 equivalent for *x* function? - - -See the [function mapping](feature-mapping.md#function-mapping) provided in Map DirectX 9 features to DirectX 11 APIs. - -## What is the DXGI\_FORMAT equivalent of *y* surface format? - - -See the [surface format mapping](feature-mapping.md#surface-format-mapping) provided in Map DirectX 9 features to DirectX 11 APIs. - -  - -  \ No newline at end of file diff --git a/windows-apps-src/gaming/directx-porting-faq.yml b/windows-apps-src/gaming/directx-porting-faq.yml new file mode 100644 index 0000000000..244090bccd --- /dev/null +++ b/windows-apps-src/gaming/directx-porting-faq.yml @@ -0,0 +1,109 @@ +### YamlMime:FAQ +metadata: + title: DirectX 11 porting FAQ + description: Answers to frequently-asked questions about porting games to Universal Windows Platform (UWP). + ms.assetid: 79c3b4c0-86eb-5019-97bb-5feee5667a2d + ms.date: 02/08/2017 + ms.topic: article + keywords: windows 10, uwp, games, directx 11 + ms.localizationpriority: medium + +title: DirectX 11 porting FAQ +summary: Answers to frequently-asked questions about porting games to Universal Windows Platform (UWP). + + +sections: + - name: Ignored + questions: + - question: Is porting my game going to be a set of search-and-replace operations on API methods, or do I need to plan for a more thoughtful porting process? + answer: | + Direct3D 11 is a significant upgrade from Direct3D 9. There are several paradigm shifts, including separate APIs for the virtualized graphics adapter and its context as well as a new layer of polymorphism for device resources. Your game can still use graphics hardware in essentially the same way, but you'll need to learn about the new Direct3D 11 API architecture and update each part of your graphics code to use the correct API components. See [Porting concepts and considerations](porting-considerations.md). + + - question: What is the new device context for? Am I supposed to replace my Direct3D 9 device with the Direct3D 11 device, the device context, or both? + answer: | + The Direct3D device is now used to create resources in video memory, while the device context is used to set pipeline state and generate rendering commands. For more info see: [What are the most important changes since Direct3D 9?](understand-direct3d-11-1-concepts.md) + + - question: Do I have to update my game timer for UWP? + answer: | + [**QueryPerformanceCounter**](/windows/desktop/api/profileapi/nf-profileapi-queryperformancecounter), along with [**QueryPerformanceFrequency**](/windows/desktop/api/profileapi/nf-profileapi-queryperformancefrequency), is still the best way to implement a game timer for UWP apps. + + You should be aware of a nuance with timers and the UWP app lifecycle. Suspend/resume is different from a player re-launching a desktop game because your game will resume a snapshot in time from when the game was last played. If a large amount of time has passed - for example, a few weeks - some game timer implementations might not behave gracefully. You can use app lifecycle events to reset your timer when the game resumes. + + Games that still use the RDTSC instruction need to upgrade. See [Game Timing and Multicore Processors](/windows/desktop/DxTechArts/game-timing-and-multicore-processors). + + - question: My game code is based on D3DX and DXUT. Is there anything available that can help me migrate my code? + answer: | + The [DirectX Tool Kit (DirectXTK)](https://github.com/Microsoft/DirectXTK) community project offers helper classes for use with Direct3D 11. + + - question: How do I maintain code paths for the desktop and the Microsoft Store? + answer: | + Chuck Walbourn's article series titled [Dual-use Coding Techniques for Games](https://blogs.msdn.com/b/chuckw/archive/2012/09/17/dual-use-coding-techniques-for-games.aspx) offers guidance on sharing code between the desktop and the Microsoft Store code paths. + + - question: How do I load image resources in my DirectX UWP app? + answer: | + There are two API paths for loading images: + + - The content pipeline converts images into DDS files used as Direct3D texture resources. See [Using 3-D Assets in Your Game or App](/visualstudio/designers/using-3-d-assets-in-your-game-or-app). + - The [Windows Imaging Component](/windows/desktop/wic/-wic-lh) can be used to load images from a variety of formats, and can be used for Direct2D bitmaps as well as Direct3D texture resources. + + You can also use the DDSTextureLoader, and the WICTextureLoader, from the [DirectXTK](https://github.com/Microsoft/DirectXTK) or [DirectXTex](https://github.com/Microsoft/DirectXTex). + + - question: Where is the DirectX SDK? + answer: The DirectX SDK is included as part of the Windows SDK. The most recent DirectX SDK that was separate from the Windows SDK was in June 2010. Direct3D samples are in the Code Gallery along with the rest of the Windows app samples. + + - question: What about DirectX redistributables? + answer: | + The vast majority of components in the Windows SDK are already included in supported versions of the OS, or have no DLL component (such as DirectXMath). All Direct3D API components that UWP apps can use will already available to your game; you don't need to be redistribute them. + + Win32 desktop applications still use DirectSetup, so if you are also upgrading the desktop version of your game see [Direct3D 11 Deployment for Game Developers](/windows/desktop/direct3darticles/direct3d11-deployment). + + - question: Is there any way I can update my desktop code to DirectX 11 before moving away from Effects? + answer: | + See the [Effects for Direct3D 11 Update](https://github.com/Microsoft/FX11). Effects 11 helps remove dependencies on legacy DirectX SDK headers; it's intended for use as a porting aid and can only be used with desktop apps. + + - question: Is there a path for porting my DirectX 8 game to UWP? + answer: | + Yes: + + - Read [Converting to Direct3D 9](/windows/desktop/direct3d9/converting-to-directx-9). + - Make sure your game has no remnants of the fixed pipeline - see [Deprecated Features](/windows/desktop/direct3d10/d3d10-graphics-programming-guide-api-features-deprecated). + - Then take the DirectX 9 porting path: [Port from D3D 9 to UWP](walkthrough--simple-port-from-direct3d-9-to-11-1.md). + + - question: Can I port my DirectX 10 or 11 game to UWP? + answer: | + DirectX 10.x and 11 desktop games are easy to port to UWP. See [Migrating to Direct3D 11](/windows/desktop/direct3d11/d3d11-programming-guide-migrating). + + - question: How do I choose the right display device in a multi-monitor system? + answer: | + The user selects which monitor your app is displayed on. Let Windows provide the correct adapter by calling [**D3D11CreateDevice**](/windows/desktop/api/d3d11/nf-d3d11-d3d11createdevice) with the first parameter set to **nullptr**. Then get the device's [**IDXGIDevice interface**](/windows/desktop/api/dxgi/nn-dxgi-idxgidevice), call [**GetAdapter**](/windows/desktop/api/dxgi/nf-dxgi-idxgidevice-getadapter) and use the DXGI adapter to create the swap chain. + + - question: How do I turn on antialiasing? + answer: | + Antialiasing (multisampling) is enabled when you create the Direct3D device. Enumerate multisampling support by calling [**CheckMultisampleQualityLevels**](/windows/desktop/api/d3d11/nf-d3d11-id3d11device-checkmultisamplequalitylevels), then set multisample options in the [**DXGI\_SAMPLE\_DESC structure**](/windows/desktop/api/dxgicommon/ns-dxgicommon-dxgi_sample_desc) when you call [**CreateSurface**](/windows/desktop/api/dxgi/nf-dxgi-idxgidevice-createsurface). + + - question: My game renders using multithreading and/or deferred rendering. What do I need to know for Direct3D 11? + answer: | + Visit [Introduction to Multithreading in Direct3D 11](/windows/desktop/direct3d11/overviews-direct3d-11-render-multi-thread-intro) to get started. For a list of key differences, see [Threading Differences between Direct3D Versions](/windows/desktop/direct3d11/overviews-direct3d-11-render-multi-thread-differences). Note that deferred rendering uses a device *deferred context* instead of an *immediate context*. + + - question: Where can I read more about the programmable pipeline since Direct3D 9? + answer: | + Visit the following topics: + + - [Programming Guide for HLSL](/windows/desktop/direct3dhlsl/dx-graphics-hlsl-pguide) + - [Direct3D 10 Frequently Asked Questions](/windows/desktop/DxTechArts/direct3d10-frequently-asked-questions) + + - question: What should I use instead of the .x file format for my models? + answer: | + While we don't have an official replacement for the .x file format, many of the samples utilize the SDKMesh format. Visual Studio also has a [content pipeline](/visualstudio/designers/using-3-d-assets-in-your-game-or-app) that compiles several popular formats into CMO files that can be loaded with code from the Visual Studio 3D starter kit, or loaded using the [DirectXTK](https://github.com/Microsoft/DirectXTK). + + - question: How do I debug my shaders? + answer: | + Microsoft Visual Studio includes diagnostic tools for DirectX graphics. See [Debugging DirectX Graphics](/visualstudio/debugger/visual-studio-graphics-diagnostics). + + - question: What is the Direct3D 11 equivalent for x function? + answer: | + See the [function mapping](feature-mapping.md#function-mapping) provided in Map DirectX 9 features to DirectX 11 APIs. + + - question: What is the DXGI\_FORMAT equivalent of y surface format? + answer: | + See the [surface format mapping](feature-mapping.md#surface-format-mapping) provided in Map DirectX 9 features to DirectX 11 APIs. diff --git a/windows-apps-src/gaming/porting-your-directx-9-game-to-windows-store.md b/windows-apps-src/gaming/porting-your-directx-9-game-to-windows-store.md index d6b6f4d319..128666795c 100644 --- a/windows-apps-src/gaming/porting-your-directx-9-game-to-windows-store.md +++ b/windows-apps-src/gaming/porting-your-directx-9-game-to-windows-store.md @@ -25,7 +25,7 @@ This section includes articles, overviews, and walkthroughs for porting DirectX - Visit [Moving from DirectX 9 to DirectX 11 and UWP](porting-considerations.md) to learn what you should plan for in your game porting project, catch up on Direct3D 11 concepts, and understand how the features you're familiar with map to DirectX 11 UWP apps. - Follow the [Port a simple Direct3D 9 app to DirectX 11 and UWP](walkthrough--simple-port-from-direct3d-9-to-11-1.md) walkthrough article for a direct comparison of Direct3D 9 and Direct3D 11 graphics frameworks. This walkthrough also has code for setting up an app window and viewport. -- See the [DirectX 11 porting FAQ](directx-porting-faq.md) for answers to common questions about porting from DirectX 9. +- See the [DirectX 11 porting FAQ](directx-porting-faq.yml) for answers to common questions about porting from DirectX 9.   diff --git a/windows-apps-src/gaming/simple-port-from-direct3d-9-to-11-1-part-3--viewport-and-game-loop.md b/windows-apps-src/gaming/simple-port-from-direct3d-9-to-11-1-part-3--viewport-and-game-loop.md index eb6741a87d..153eff5fb5 100644 --- a/windows-apps-src/gaming/simple-port-from-direct3d-9-to-11-1-part-3--viewport-and-game-loop.md +++ b/windows-apps-src/gaming/simple-port-from-direct3d-9-to-11-1-part-3--viewport-and-game-loop.md @@ -121,7 +121,7 @@ Now we have a UWP app that sets up the same basic graphics infrastructure, and r ## Where do I go from here? -Bookmark the [DirectX 11 porting FAQ](directx-porting-faq.md). +Bookmark the [DirectX 11 porting FAQ](directx-porting-faq.yml). The DirectX UWP templates include a robust Direct3D device infrastructure that's ready for use with your game. See [Create a DirectX game project from a template](user-interface.md) for guidance on picking the right template. diff --git a/windows-apps-src/gaming/toc.yml b/windows-apps-src/gaming/toc.yml index 0963b40f71..43f2e49276 100644 --- a/windows-apps-src/gaming/toc.yml +++ b/windows-apps-src/gaming/toc.yml @@ -513,7 +513,7 @@ - name: Support various hardware href: ../gaming/target-a-range-of-hardware.md - name: FAQ - href: ../gaming/directx-porting-faq.md + href: ../gaming/directx-porting-faq.yml - name: Port OpenGL to Direct3D href: ../gaming/port-from-opengl-es-2-0-to-directx-11-1.md items: diff --git a/windows-apps-src/launch-resume/launch-screen-snipping.md b/windows-apps-src/launch-resume/launch-screen-snipping.md index 465cbfb2b0..951da74eb2 100644 --- a/windows-apps-src/launch-resume/launch-screen-snipping.md +++ b/windows-apps-src/launch-resume/launch-screen-snipping.md @@ -20,6 +20,7 @@ The **ms-screenclip:** URI allows your app to automatically open up and start a | Parameter | Type | Required | Description | | --- | --- | --- | --- | | source | string | no | A freeform string to indicate the source that launched the URI. | +| clippingMode | string | no | A string value to indicate the clipping type for the snip. Values supported include: Rectangle, Freeform, Window | | delayInSeconds | int | no | An integer value, from 1 to 30. Specifies the delay, in full seconds, between the URI call and when snipping begins. | | callbackformat | string | no | This parameter is unavailable. | @@ -69,4 +70,4 @@ The following example illustrates what a file specified by the **secondaryShared "userActivity": "{\"$schema\":\"http://activity.windows.com/user-activity.json\",\"UserActivity\":\"type\",\"1.0\":\"version\",\"cross-platform-identifiers\":[{\"platform\":\"windows_universal\",\"application\":\"Microsoft.MicrosoftEdge_8wekyb3d8bbwe!MicrosoftEdge\"},{\"platform\":\"host\",\"application\":\"edge.activity.windows.com\"}],\"activationUrl\":\"microsoft-edge:https://support.microsoft.com/help/13776/windows-use-snipping-tool-to-capture-screenshots\",\"contentUrl\":\"https://support.microsoft.com/help/13776/windows-use-snipping-tool-to-capture-screenshots\",\"visualElements\":{\"attribution\":{\"iconUrl\":\"https://www.microsoft.com/favicon.ico?v2\",\"alternateText\":\"microsoft.com\"},\"description\":\"https://support.microsoft.com/help/13776/windows-use-snipping-tool-to-capture-screenshots\",\"backgroundColor\":\"#FF0078D7\",\"displayText\":\"Use snipping tool to capture screenshots - Windows Help\",\"content\":{\"$schema\":\"http://adaptivecards.io/schemas/adaptive-card.json\",\"type\":\"AdaptiveCard\",\"version\":\"1.0\",\"body\":[{\"type\":\"Container\",\"items\":[{\"type\":\"TextBlock\",\"text\":\"Use snipping tool to capture screenshots - Windows Help\",\"weight\":\"bolder\",\"size\":\"large\",\"wrap\":true,\"maxLines\":3},{\"type\":\"TextBlock\",\"text\":\"https://support.microsoft.com/help/13776/windows-use-snipping-tool-to-capture-screenshots\",\"size\":\"normal\",\"wrap\":true,\"maxLines\":3}]}]}},\"isRoamable\":true,\"appActivityId\":\"https://support.microsoft.com/help/13776/windows-use-snipping-tool-to-capture-screenshots\"}" } -``` \ No newline at end of file +``` diff --git a/windows-apps-src/whats-new/windows-10-build-16299.md b/windows-apps-src/whats-new/windows-10-build-16299.md index 0b9c2b7f3e..4a1c22ca4f 100644 --- a/windows-apps-src/whats-new/windows-10-build-16299.md +++ b/windows-apps-src/whats-new/windows-10-build-16299.md @@ -19,7 +19,7 @@ Feature | Description :------ | :------ Conditional XAML | You can now use [conditional XAML](../debug-test-perf/conditional-xaml.md) to create [version adaptive apps](../debug-test-perf/version-adaptive-apps.md). Conditional XAML lets you use the **ApiInformation.IsApiContractPresent** method in XAML markup, so you can set properties and instantiate objects in markup based on the presence of an API, without needing to use code behind. Design Toolkits | The [design toolkits and resources for UWP apps](../design/downloads/index.md) have been expanded with the addition of the Sketch and Adobe XD toolkits. The previously-existing toolkits have also been updated and revamped, providing more robust controls and layout templates for your UWP apps. Furthermore, new tools and samples have been added to provide examples and inspiration. -Fluent Design effects | These new effects are part of the Fluent Design System, and use depth, perspective, and movement to help users focus on important UI elements.
* [Acrylic material](../design/style/acrylic.md) is a type of brush that creates transparent textures.
* The [Parallax effect](../design/motion/parallax.md) adds three-dimensional depth and perspective to your app.
* [Reveal](../design/style/reveal.md) highlights important elements of your app.
For more information, see the [Fluent Design overview](https://fluent.microsoft.com/). +Fluent Design effects | These new effects are part of the Fluent Design System, and use depth, perspective, and movement to help users focus on important UI elements.
* [Acrylic material](../design/style/acrylic.md) is a type of brush that creates transparent textures.
* The [Parallax effect](../design/motion/parallax.md) adds three-dimensional depth and perspective to your app.
* [Reveal](../design/style/index.md) highlights important elements of your app.
For more information, see the [Fluent Design overview](https://fluent.microsoft.com/). Keyboard Accelerators | Increase accessibility and usability of your app with [keyboard accelerators](../design/input/keyboard-accelerators.md) or shortcuts. They provide an intuitive way for users to invoke common actions or commands without navigating the app UI, and can be configured to fit the necessary scope for their function. Inking | The [CoreIncrementalInkStroke](/uwp/api/windows.ui.input.inking.core.coreincrementalinkstroke) APIs allow for the creation of individual ink strokes which can be rendered incrementally, using individual **InkPoint** objects.

The [CoreInkPresenterHost](/uwp/api/windows.ui.input.inking.core.coreinkpresenterhost) APIs let you host an **InkPresenter** object without an associated **InkCanvas** control. Radial Controller | The [RadialControllerConfiguration](/uwp/api/windows.ui.input.radialcontrollerconfiguration) APIs have been updated with the ability to scope the **RadialController** menu to the view or process of an app. diff --git a/windows-apps-src/whats-new/windows-docs-july-2017.md b/windows-apps-src/whats-new/windows-docs-july-2017.md index 9b7a6090ac..b5fed7cd42 100644 --- a/windows-apps-src/whats-new/windows-docs-july-2017.md +++ b/windows-apps-src/whats-new/windows-docs-july-2017.md @@ -28,7 +28,7 @@ The [Parallax effect](../design/motion/parallax.md) adds three-dimensional depth ![An example of parallax with a list and background image](../design/style/images/_Parallax_v2.gif) -[Reveal](../design/style/reveal.md) highlights important elements of your app. +[Reveal](../design/style/index.md) highlights important elements of your app. ![Reveal Visual](../design/style/images/Nav_Reveal_Animation.gif)