diff --git a/.openpublishing.publish.config.json b/.openpublishing.publish.config.json index 95997af..7500755 100644 --- a/.openpublishing.publish.config.json +++ b/.openpublishing.publish.config.json @@ -5,7 +5,7 @@ "build_source_folder": "dotnet-desktop-guide", "build_output_subfolder": "dotnet-desktop-guide", "locale": "en-us", - "moniker_ranges": ["netframeworkdesktop-4.8", "netdesktop-5.0"], + "moniker_ranges": ["netframeworkdesktop-4.8", "netdesktop-5.0", "netdesktop-6.0"], "filemap_share_depots": [ "VS.dotnet-api-docs" ], diff --git a/.openpublishing.redirection.json b/.openpublishing.redirection.json index 152f185..5a92274 100644 --- a/.openpublishing.redirection.json +++ b/.openpublishing.redirection.json @@ -2,7 +2,7 @@ "redirections": [ { "source_path": "dotnet-desktop-guide/net/winforms/windows-forms-overview.md", - "redirect_url": "/dotnet/desktop/winforms/overview/?view=netdesktop-5.0" + "redirect_url": "/dotnet/desktop/winforms/overview/?view=netdesktop-6.0" }, { "source_path": "dotnet-desktop-guide/framework/winforms/overview/index.md", @@ -10,7 +10,7 @@ }, { "source_path": "dotnet-desktop-guide/net/winforms/how-to-create-a-windows-forms-application-from-the-command-line.md", - "redirect_url": "/dotnet/desktop/winforms/get-started/create-app-visual-studio?view=netdesktop-5.0" + "redirect_url": "/dotnet/desktop/winforms/get-started/create-app-visual-studio?view=netdesktop-6.0" }, { "source_path": "dotnet-desktop-guide/framework/winforms/get-started/create-app-visual-studio.md", @@ -18,7 +18,7 @@ }, { "source_path": "dotnet-desktop-guide/net/winforms/events-overview-windows-forms.md", - "redirect_url": "/dotnet/desktop/winforms/forms/events?view=netdesktop-5.0" + "redirect_url": "/dotnet/desktop/winforms/forms/events?view=netdesktop-6.0" }, { "source_path": "dotnet-desktop-guide/framework/winforms/forms/events.md", @@ -26,7 +26,7 @@ }, { "source_path": "dotnet-desktop-guide/net/winforms/automatic-scaling-in-windows-forms.md", - "redirect_url": "/dotnet/desktop/winforms/forms/autoscale?view=netdesktop-5.0" + "redirect_url": "/dotnet/desktop/winforms/forms/autoscale?view=netdesktop-6.0" }, { "source_path": "dotnet-desktop-guide/framework/winforms/forms/autoscale.md", @@ -34,7 +34,7 @@ }, { "source_path": "dotnet-desktop-guide/net/winforms/how-to-resize-windows-forms.md", - "redirect_url": "/dotnet/desktop/winforms/forms/how-to-position-and-resize?view=netdesktop-5.0" + "redirect_url": "/dotnet/desktop/winforms/forms/how-to-position-and-resize?view=netdesktop-6.0" }, { "source_path": "dotnet-desktop-guide/framework/winforms/forms/how-to-position-and-resize.md", @@ -42,7 +42,7 @@ }, { "source_path": "dotnet-desktop-guide/net/winforms/controls/layout-in-windows-forms-controls.md", - "redirect_url": "/dotnet/desktop/winforms/controls/layout?view=netdesktop-5.0" + "redirect_url": "/dotnet/desktop/winforms/controls/layout?view=netdesktop-6.0" }, { "source_path": "dotnet-desktop-guide/framework/winforms/controls/layout.md", @@ -50,7 +50,7 @@ }, { "source_path": "dotnet-desktop-guide/net/winforms/controls/label-control-overview-windows-forms.md", - "redirect_url": "/dotnet/desktop/winforms/controls/labels?view=netdesktop-5.0" + "redirect_url": "/dotnet/desktop/winforms/controls/labels?view=netdesktop-6.0" }, { "source_path": "dotnet-desktop-guide/framework/winforms/controls/labels.md", @@ -58,7 +58,7 @@ }, { "source_path": "dotnet-desktop-guide/net/winforms/controls/varieties-of-custom-controls.md", - "redirect_url": "/dotnet/desktop/winforms/controls/custom?view=netdesktop-5.0" + "redirect_url": "/dotnet/desktop/winforms/controls/custom?view=netdesktop-6.0" }, { "source_path": "dotnet-desktop-guide/framework/winforms/controls/custom.md", @@ -66,7 +66,7 @@ }, { "source_path": "dotnet-desktop-guide/net/winforms/controls/custom-control-painting-and-rendering.md", - "redirect_url": "/dotnet/desktop/winforms/controls/custom-painting-drawing?view=netdesktop-5.0" + "redirect_url": "/dotnet/desktop/winforms/controls/custom-painting-drawing?view=netdesktop-6.0" }, { "source_path": "dotnet-desktop-guide/framework/winforms/controls/custom-painting-drawing.md", @@ -74,7 +74,7 @@ }, { "source_path": "dotnet-desktop-guide/net/winforms/controls/how-to-add-controls-to-windows-forms.md", - "redirect_url": "/dotnet/desktop/winforms/controls/how-to-add-to-a-form?view=netdesktop-5.0" + "redirect_url": "/dotnet/desktop/winforms/controls/how-to-add-to-a-form?view=netdesktop-6.0" }, { "source_path": "dotnet-desktop-guide/framework/winforms/controls/how-to-add-to-a-form.md", @@ -82,7 +82,7 @@ }, { "source_path": "dotnet-desktop-guide/net/winforms/controls/how-to-create-access-keys-for-windows-forms-controls.md", - "redirect_url": "/dotnet/desktop/winforms/controls/how-to-create-access-keys?view=netdesktop-5.0" + "redirect_url": "/dotnet/desktop/winforms/controls/how-to-create-access-keys?view=netdesktop-6.0" }, { "source_path": "dotnet-desktop-guide/framework/winforms/controls/how-to-create-access-keys.md", @@ -90,7 +90,7 @@ }, { "source_path": "dotnet-desktop-guide/net/winforms/controls/how-to-set-the-text-displayed-by-a-windows-forms-control.md", - "redirect_url": "/dotnet/desktop/winforms/controls/how-to-set-the-display-text?view=netdesktop-5.0" + "redirect_url": "/dotnet/desktop/winforms/controls/how-to-set-the-display-text?view=netdesktop-6.0" }, { "source_path": "dotnet-desktop-guide/framework/winforms/controls/how-to-set-the-display-text.md", @@ -98,7 +98,7 @@ }, { "source_path": "dotnet-desktop-guide/net/winforms/controls/how-to-set-the-image-displayed-by-a-windows-forms-control.md", - "redirect_url": "/dotnet/desktop/winforms/controls/how-to-add-a-picture-to-a-control?view=netdesktop-5.0" + "redirect_url": "/dotnet/desktop/winforms/controls/how-to-add-a-picture-to-a-control?view=netdesktop-6.0" }, { "source_path": "dotnet-desktop-guide/framework/winforms/controls/how-to-add-a-picture-to-a-control.md", @@ -106,7 +106,7 @@ }, { "source_path": "dotnet-desktop-guide/net/winforms/keyboard-input-in-a-windows-forms-application.md", - "redirect_url": "/dotnet/desktop/winforms/input-keyboard/overview?view=netdesktop-5.0" + "redirect_url": "/dotnet/desktop/winforms/input-keyboard/overview?view=netdesktop-6.0" }, { "source_path": "dotnet-desktop-guide/framework/winforms/input-keyboard/overview.md", @@ -114,7 +114,7 @@ }, { "source_path": "dotnet-desktop-guide/net/winforms/using-keyboard-events.md", - "redirect_url": "/dotnet/desktop/winforms/input-keyboard/events?view=netdesktop-5.0" + "redirect_url": "/dotnet/desktop/winforms/input-keyboard/events?view=netdesktop-6.0" }, { "source_path": "dotnet-desktop-guide/framework/winforms/input-keyboard/events.md", @@ -122,7 +122,7 @@ }, { "source_path": "dotnet-desktop-guide/net/winforms/user-input-validation-in-windows-forms.md", - "redirect_url": "/dotnet/desktop/winforms/input-keyboard/validation?view=netdesktop-5.0" + "redirect_url": "/dotnet/desktop/winforms/input-keyboard/validation?view=netdesktop-6.0" }, { "source_path": "dotnet-desktop-guide/framework/winforms/input-keyboard/validation.md", @@ -130,7 +130,7 @@ }, { "source_path": "dotnet-desktop-guide/net/winforms/how-to-modify-keyboard-input-to-a-standard-control.md", - "redirect_url": "/dotnet/desktop/winforms/input-keyboard/how-to-change-key-press?view=netdesktop-5.0" + "redirect_url": "/dotnet/desktop/winforms/input-keyboard/how-to-change-key-press?view=netdesktop-6.0" }, { "source_path": "dotnet-desktop-guide/framework/winforms/input-keyboard/how-to-change-key-press.md", @@ -138,7 +138,7 @@ }, { "source_path": "dotnet-desktop-guide/net/winforms/how-to-determine-which-modifier-key-was-pressed.md", - "redirect_url": "/dotnet/desktop/winforms/input-keyboard/how-to-check-modifier-key?view=netdesktop-5.0" + "redirect_url": "/dotnet/desktop/winforms/input-keyboard/how-to-check-modifier-key?view=netdesktop-6.0" }, { "source_path": "dotnet-desktop-guide/framework/winforms/input-keyboard/how-to-check-modifier-key.md", @@ -146,7 +146,7 @@ }, { "source_path": "dotnet-desktop-guide/net/winforms/how-to-handle-keyboard-input-at-the-form-level.md", - "redirect_url": "/dotnet/desktop/winforms/input-keyboard/how-to-handle-forms?view=netdesktop-5.0" + "redirect_url": "/dotnet/desktop/winforms/input-keyboard/how-to-handle-forms?view=netdesktop-6.0" }, { "source_path": "dotnet-desktop-guide/framework/winforms/input-keyboard/how-to-handle-forms.md", @@ -158,7 +158,7 @@ }, { "source_path": "dotnet-desktop-guide/net/winforms/mouse-input-in-a-windows-forms-application.md", - "redirect_url": "/dotnet/desktop/winforms/input-mouse/overview?view=netdesktop-5.0" + "redirect_url": "/dotnet/desktop/winforms/input-mouse/overview?view=netdesktop-6.0" }, { "source_path": "dotnet-desktop-guide/framework/winforms/input-mouse/overview.md", @@ -166,7 +166,7 @@ }, { "source_path": "dotnet-desktop-guide/net/winforms/mouse-events-in-windows-forms.md", - "redirect_url": "/dotnet/desktop/winforms/input-mouse/events?view=netdesktop-5.0" + "redirect_url": "/dotnet/desktop/winforms/input-mouse/events?view=netdesktop-6.0" }, { "source_path": "dotnet-desktop-guide/framework/winforms/input-mouse/events.md", @@ -174,7 +174,7 @@ }, { "source_path": "dotnet-desktop-guide/net/winforms/drag-and-drop-functionality-in-windows-forms.md", - "redirect_url": "/dotnet/desktop/winforms/input-mouse/drag-and-drop?view=netdesktop-5.0" + "redirect_url": "/dotnet/desktop/winforms/input-mouse/drag-and-drop?view=netdesktop-6.0" }, { "source_path": "dotnet-desktop-guide/framework/winforms/input-mouse/drag-and-drop.md", @@ -182,7 +182,7 @@ }, { "source_path": "dotnet-desktop-guide/net/winforms/mouse-pointers-in-windows-forms.md", - "redirect_url": "/dotnet/desktop/winforms/input-mouse/how-to-manage-cursor-pointer?view=netdesktop-5.0" + "redirect_url": "/dotnet/desktop/winforms/input-mouse/how-to-manage-cursor-pointer?view=netdesktop-6.0" }, { "source_path": "dotnet-desktop-guide/framework/winforms/input-mouse/how-to-manage-cursor-pointer.md", @@ -190,7 +190,7 @@ }, { "source_path": "dotnet-desktop-guide/net/winforms/how-to-simulate-mouse-and-keyboard-events-in-code.md", - "redirect_url": "/dotnet/desktop/winforms/input-mouse/how-to-simulate-events?view=netdesktop-5.0" + "redirect_url": "/dotnet/desktop/winforms/input-mouse/how-to-simulate-events?view=netdesktop-6.0" }, { "source_path": "dotnet-desktop-guide/framework/winforms/input-mouse/how-to-simulate-events.md", @@ -198,7 +198,7 @@ }, { "source_path": "dotnet-desktop-guide/net/winforms/how-to-distinguish-between-clicks-and-double-clicks.md", - "redirect_url": "/dotnet/desktop/winforms/input-mouse/how-to-distinguish-between-clicks-and-double-clicks?view=netdesktop-5.0" + "redirect_url": "/dotnet/desktop/winforms/input-mouse/how-to-distinguish-between-clicks-and-double-clicks?view=netdesktop-6.0" }, { "source_path": "dotnet-desktop-guide/framework/winforms/input-mouse/how-to-distinguish-between-clicks-and-double-clicks.md", @@ -206,31 +206,31 @@ }, { "source_path": "dotnet-desktop-guide/net/winforms/creating-event-handlers-in-windows-forms.md", - "redirect_url": "/dotnet/desktop/winforms/forms/events?view=netdesktop-5.0" + "redirect_url": "/dotnet/desktop/winforms/forms/events?view=netdesktop-6.0" }, { "source_path": "dotnet-desktop-guide/net/winforms/controls/control-type-recommendations.md", - "redirect_url": "/dotnet/desktop/winforms/controls/custom?view=netdesktop-5.0" + "redirect_url": "/dotnet/desktop/winforms/controls/custom?view=netdesktop-6.0" }, { "source_path": "dotnet-desktop-guide/net/winforms/controls/rendering-a-windows-forms-control.md", - "redirect_url": "/dotnet/desktop/winforms/controls/custom-painting-drawing?view=netdesktop-5.0" + "redirect_url": "/dotnet/desktop/winforms/controls/custom-painting-drawing?view=netdesktop-6.0" }, { "source_path": "dotnet-desktop-guide/net/winforms/controls/user-drawn-controls.md", - "redirect_url": "/dotnet/desktop/winforms/controls/custom-painting-drawing?view=netdesktop-5.0" + "redirect_url": "/dotnet/desktop/winforms/controls/custom-painting-drawing?view=netdesktop-6.0" }, { "source_path": "dotnet-desktop-guide/net/winforms/how-keyboard-input-works.md", - "redirect_url": "/dotnet/desktop/winforms/input-keyboard/overview?view=netdesktop-5.0" + "redirect_url": "/dotnet/desktop/winforms/input-keyboard/overview?view=netdesktop-6.0" }, { "source_path": "dotnet-desktop-guide/net/winforms/how-mouse-input-works-in-windows-forms.md", - "redirect_url": "/dotnet/desktop/winforms/input-mouse/overview?view=netdesktop-5.0" + "redirect_url": "/dotnet/desktop/winforms/input-mouse/overview?view=netdesktop-6.0" }, { "source_path": "dotnet-desktop-guide/net/wpf/introduction-to-wpf.md", - "redirect_url": "/dotnet/desktop/wpf/overview/?view=netdesktop-5.0" + "redirect_url": "/dotnet/desktop/wpf/overview/?view=netdesktop-6.0" }, { "source_path": "dotnet-desktop-guide/framework/wpf/overview/index.md", @@ -238,7 +238,7 @@ }, { "source_path": "dotnet-desktop-guide/net/wpf/getting-started/walkthrough-my-first-wpf-desktop-application.md", - "redirect_url": "/dotnet/desktop/wpf/get-started/create-app-visual-studio?view=netdesktop-5.0" + "redirect_url": "/dotnet/desktop/wpf/get-started/create-app-visual-studio?view=netdesktop-6.0" }, { "source_path": "dotnet-desktop-guide/framework/wpf/get-started/create-app-visual-studio.md", @@ -246,7 +246,7 @@ }, { "source_path": "dotnet-desktop-guide/net/wpf/app-development/wpf-windows-overview.md", - "redirect_url": "/dotnet/desktop/wpf/windows/index?view=netdesktop-5.0" + "redirect_url": "/dotnet/desktop/wpf/windows/index?view=netdesktop-6.0" }, { "source_path": "dotnet-desktop-guide/framework/wpf/windows/index.md", @@ -254,7 +254,7 @@ }, { "source_path": "dotnet-desktop-guide/net/wpf/app-development/dialog-boxes-overview.md", - "redirect_url": "/dotnet/desktop/wpf/windows/dialog-boxes-overview?view=netdesktop-5.0" + "redirect_url": "/dotnet/desktop/wpf/windows/dialog-boxes-overview?view=netdesktop-6.0" }, { "source_path": "dotnet-desktop-guide/framework/wpf/windows/dialog-boxes-overview.md", @@ -262,7 +262,7 @@ }, { "source_path": "dotnet-desktop-guide/net/wpf/app-development/how-to-open-a-window.md", - "redirect_url": "/dotnet/desktop/wpf/windows/how-to-open-window-dialog-box?view=netdesktop-5.0" + "redirect_url": "/dotnet/desktop/wpf/windows/how-to-open-window-dialog-box?view=netdesktop-6.0" }, { "source_path": "dotnet-desktop-guide/framework/wpf/windows/how-to-open-window-dialog-box.md", @@ -270,15 +270,15 @@ }, { "source_path": "dotnet-desktop-guide/net/wpf/app-development/how-to-open-a-dialog-box.md", - "redirect_url": "/dotnet/desktop/wpf/windows/how-to-open-window-dialog-box?view=netdesktop-5.0" + "redirect_url": "/dotnet/desktop/wpf/windows/how-to-open-window-dialog-box?view=netdesktop-6.0" }, { "source_path": "dotnet-desktop-guide/net/wpf/how-to-return-a-dialog-box-result.md", - "redirect_url": "/dotnet/desktop/wpf/windows/how-to-open-window-dialog-box?view=netdesktop-5.0" + "redirect_url": "/dotnet/desktop/wpf/windows/how-to-open-window-dialog-box?view=netdesktop-6.0" }, { "source_path": "dotnet-desktop-guide/net/wpf/app-development/how-to-open-a-message-box.md", - "redirect_url": "/dotnet/desktop/wpf/windows/how-to-open-message-box?view=netdesktop-5.0" + "redirect_url": "/dotnet/desktop/wpf/windows/how-to-open-message-box?view=netdesktop-6.0" }, { "source_path": "dotnet-desktop-guide/framework/wpf/windows/how-to-open-message-box.md", @@ -286,7 +286,7 @@ }, { "source_path": "dotnet-desktop-guide/net/wpf/app-development/how-to-get-and-set-the-main-application-window.md", - "redirect_url": "/dotnet/desktop/wpf/windows/how-to-get-set-main-application-window?view=netdesktop-5.0" + "redirect_url": "/dotnet/desktop/wpf/windows/how-to-get-set-main-application-window?view=netdesktop-6.0" }, { "source_path": "dotnet-desktop-guide/framework/wpf/windows/how-to-get-set-main-application-window.md", @@ -294,12 +294,12 @@ }, { "source_path": "dotnet-desktop-guide/net/wpf/data/data-binding-overview.md", - "redirect_url": "/dotnet/desktop/wpf/data/index?view=netdesktop-5.0", + "redirect_url": "/dotnet/desktop/wpf/data/index?view=netdesktop-6.0", "redirect_document_id": true }, { "source_path": "dotnet-desktop-guide/net/wpf/advanced/xaml-in-wpf.md", - "redirect_url": "/dotnet/desktop/wpf/xaml/index?view=netdesktop-5.0" + "redirect_url": "/dotnet/desktop/wpf/xaml/index?view=netdesktop-6.0" }, { "source_path": "dotnet-desktop-guide/framework/wpf/xaml/index.md", @@ -307,27 +307,27 @@ }, { "source_path": "dotnet-desktop-guide/framework/wpf/fundamentals/xaml.md", - "redirect_url": "/dotnet/desktop/wpf/xaml/index?view=netdesktop-5.0" + "redirect_url": "/dotnet/desktop/wpf/xaml/index?view=netdesktop-6.0" }, { "source_path": "dotnet-desktop-guide/framework/wpf/fundamentals/xaml-resources-define.md", - "redirect_url": "/dotnet/desktop/wpf/systems/xaml-resources-overview?view=netdesktop-5.0" + "redirect_url": "/dotnet/desktop/wpf/systems/xaml-resources-overview?view=netdesktop-6.0" }, { "source_path": "dotnet-desktop-guide/framework/wpf/fundamentals/styles-templates-overview.md", - "redirect_url": "/dotnet/desktop/wpf/controls/styles-templates-overview?view=netdesktop-5.0" + "redirect_url": "/dotnet/desktop/wpf/controls/styles-templates-overview?view=netdesktop-6.0" }, { "source_path": "dotnet-desktop-guide/framework/wpf/fundamentals/styles-templates-create-apply-style.md", - "redirect_url": "/dotnet/desktop/wpf/controls/how-to-create-apply-style?view=netdesktop-5.0" + "redirect_url": "/dotnet/desktop/wpf/controls/how-to-create-apply-style?view=netdesktop-6.0" }, { "source_path": "dotnet-desktop-guide/framework/wpf/themes/how-to-create-apply-template.md", - "redirect_url": "/dotnet/desktop/wpf/controls/how-to-create-apply-template?view=netdesktop-5.0" + "redirect_url": "/dotnet/desktop/wpf/controls/how-to-create-apply-template?view=netdesktop-6.0" }, { "source_path": "dotnet-desktop-guide/net/wpf/advanced/xaml-resources-define.md", - "redirect_url": "/dotnet/desktop/wpf/systems/xaml-resources-overview?view=netdesktop-5.0" + "redirect_url": "/dotnet/desktop/wpf/systems/xaml-resources-overview?view=netdesktop-6.0" }, { "source_path": "dotnet-desktop-guide/framework/wpf/systems/xaml-resources-overview.md", @@ -335,7 +335,7 @@ }, { "source_path": "dotnet-desktop-guide/net/wpf/advanced/resources-and-code.md", - "redirect_url": "/dotnet/desktop/wpf/systems/xaml-resources-and-code?view=netdesktop-5.0" + "redirect_url": "/dotnet/desktop/wpf/systems/xaml-resources-and-code?view=netdesktop-6.0" }, { "source_path": "dotnet-desktop-guide/framework/wpf/systems/xaml-resources-and-code.md", @@ -343,7 +343,7 @@ }, { "source_path": "dotnet-desktop-guide/net/wpf/advanced/merged-resource-dictionaries.md", - "redirect_url": "/dotnet/desktop/wpf/systems/xaml-resources-merged-dictionaries?view=netdesktop-5.0" + "redirect_url": "/dotnet/desktop/wpf/systems/xaml-resources-merged-dictionaries?view=netdesktop-6.0" }, { "source_path": "dotnet-desktop-guide/framework/wpf/systems/xaml-resources-merged-dictionaries.md", @@ -351,7 +351,7 @@ }, { "source_path": "dotnet-desktop-guide/net/wpf/advanced/how-to-define-and-reference-a-resource.md", - "redirect_url": "/dotnet/desktop/wpf/systems/xaml-resources-how-to-define-and-reference?view=netdesktop-5.0" + "redirect_url": "/dotnet/desktop/wpf/systems/xaml-resources-how-to-define-and-reference?view=netdesktop-6.0" }, { "source_path": "dotnet-desktop-guide/framework/wpf/systems/xaml-resources-how-to-define-and-reference.md", @@ -359,7 +359,7 @@ }, { "source_path": "dotnet-desktop-guide/net/wpf/advanced/how-to-use-application-resources.md", - "redirect_url": "/dotnet/desktop/wpf/systems/xaml-resources-how-to-use-application?view=netdesktop-5.0" + "redirect_url": "/dotnet/desktop/wpf/systems/xaml-resources-how-to-use-application?view=netdesktop-6.0" }, { "source_path": "dotnet-desktop-guide/framework/wpf/systems/xaml-resources-how-to-use-application.md", @@ -367,7 +367,7 @@ }, { "source_path": "dotnet-desktop-guide/net/wpf/advanced/how-to-use-systemfonts.md", - "redirect_url": "/dotnet/desktop/wpf/systems/xaml-resources-how-to-use-system?view=netdesktop-5.0" + "redirect_url": "/dotnet/desktop/wpf/systems/xaml-resources-how-to-use-system?view=netdesktop-6.0" }, { "source_path": "dotnet-desktop-guide/framework/wpf/systems/xaml-resources-how-to-use-system.md", @@ -375,27 +375,27 @@ }, { "source_path": "dotnet-desktop-guide/net/wpf/advanced/how-to-use-system-fonts-keys.md", - "redirect_url": "/dotnet/desktop/wpf/systems/xaml-resources-how-to-use-system?view=netdesktop-5.0" + "redirect_url": "/dotnet/desktop/wpf/systems/xaml-resources-how-to-use-system?view=netdesktop-6.0" }, { "source_path": "dotnet-desktop-guide/net/wpf/advanced/how-to-use-systemparameters.md", - "redirect_url": "/dotnet/desktop/wpf/systems/xaml-resources-how-to-use-system?view=netdesktop-5.0" + "redirect_url": "/dotnet/desktop/wpf/systems/xaml-resources-how-to-use-system?view=netdesktop-6.0" }, { "source_path": "dotnet-desktop-guide/net/wpf/advanced/how-to-use-system-parameters-keys.md", - "redirect_url": "/dotnet/desktop/wpf/systems/xaml-resources-how-to-use-system?view=netdesktop-5.0" + "redirect_url": "/dotnet/desktop/wpf/systems/xaml-resources-how-to-use-system?view=netdesktop-6.0" }, { "source_path": "dotnet-desktop-guide/net/wpf/migration/index.md", - "redirect_url": "/dotnet/desktop/wpf/migration/differences-from-net-framework?view=netdesktop-5.0" + "redirect_url": "/dotnet/desktop/wpf/migration/differences-from-net-framework?view=netdesktop-6.0" }, { "source_path": "dotnet-desktop-guide/net/wpf/data/how-to-specify-the-direction-of-the-binding.md", - "redirect_url": "/dotnet/desktop/wpf/data/binding-declarations-overview?view=netdesktop-5.0#binding-direction" + "redirect_url": "/dotnet/desktop/wpf/data/binding-declarations-overview?view=netdesktop-6.0#binding-direction" }, { "source_path": "dotnet-desktop-guide/net/winforms/controls/how-to-set-the-tab-order-on-windows-forms.md", - "redirect_url": "/dotnet/desktop/winforms/controls/how-to-set-the-tab-order?view=netdesktop-5.0" + "redirect_url": "/dotnet/desktop/winforms/controls/how-to-set-the-tab-order?view=netdesktop-6.0" }, { "source_path": "dotnet-desktop-guide/framework/winforms/controls/how-to-set-the-tab-order.md", @@ -403,7 +403,7 @@ }, { "source_path": "dotnet-desktop-guide/net/winforms/controls/index.md", - "redirect_url": "/dotnet/desktop/winforms/controls/overview?view=netdesktop-5.0" + "redirect_url": "/dotnet/desktop/winforms/controls/overview?view=netdesktop-6.0" }, { "source_path": "dotnet-desktop-guide/framework/winforms/controls/overview.md", @@ -411,11 +411,11 @@ }, { "source_path": "dotnet-desktop-guide/net/winforms/controls/autosize-property-overview.md", - "redirect_url": "/dotnet/desktop/winforms/controls/layout?view=netdesktop-5.0#automatic-sizing" + "redirect_url": "/dotnet/desktop/winforms/controls/layout?view=netdesktop-6.0#automatic-sizing" }, { "source_path": "dotnet-desktop-guide/net/winforms/controls/how-to-anchor-controls-on-windows-forms.md", - "redirect_url": "/dotnet/desktop/winforms/controls/how-to-dock-and-anchor?view=netdesktop-5.0" + "redirect_url": "/dotnet/desktop/winforms/controls/how-to-dock-and-anchor?view=netdesktop-6.0" }, { "source_path": "dotnet-desktop-guide/framework/winforms/controls/how-to-dock-and-anchor.md", @@ -423,11 +423,11 @@ }, { "source_path": "dotnet-desktop-guide/net/winforms/controls/how-to-dock-controls-on-windows-forms.md", - "redirect_url": "/dotnet/desktop/winforms/controls/how-to-dock-and-anchor?view=netdesktop-5.0" + "redirect_url": "/dotnet/desktop/winforms/controls/how-to-dock-and-anchor?view=netdesktop-6.0" }, { "source_path": "dotnet-desktop-guide/net/winforms/how-to-create-event-handlers-at-run-time-for-windows-forms.md", - "redirect_url": "/dotnet/desktop/winforms/controls/how-to-add-an-event-handler?view=netdesktop-5.0" + "redirect_url": "/dotnet/desktop/winforms/controls/how-to-add-an-event-handler?view=netdesktop-6.0" }, { "source_path": "dotnet-desktop-guide/framework/winforms/controls/how-to-add-an-event-handler.md", @@ -435,15 +435,15 @@ }, { "source_path": "dotnet-desktop-guide/net/winforms/how-to-connect-multiple-events-to-a-single-event-handler-in-windows-forms.md", - "redirect_url": "/dotnet/desktop/winforms/controls/how-to-add-an-event-handler?view=netdesktop-5.0#how-to-use-multiple-events-with-the-same-handler" + "redirect_url": "/dotnet/desktop/winforms/controls/how-to-add-an-event-handler?view=netdesktop-6.0#how-to-use-multiple-events-with-the-same-handler" }, { "source_path": "dotnet-desktop-guide/net/winforms/controls/margin-and-padding-in-windows-forms-controls.md", - "redirect_url": "/dotnet/desktop/winforms/controls/layout?view=netdesktop-5.0#margin-and-padding" + "redirect_url": "/dotnet/desktop/winforms/controls/layout?view=netdesktop-6.0#margin-and-padding" }, { "source_path": "dotnet-desktop-guide/net/winforms/controls/how-to-make-thread-safe-calls-to-windows-forms-controls.md", - "redirect_url": "/dotnet/desktop/winforms/controls/how-to-make-thread-safe-calls?view=netdesktop-5.0" + "redirect_url": "/dotnet/desktop/winforms/controls/how-to-make-thread-safe-calls?view=netdesktop-6.0" }, { "source_path": "dotnet-desktop-guide/framework/winforms/controls/how-to-make-thread-safe-calls.md", @@ -451,7 +451,7 @@ }, { "source_path": "dotnet-desktop-guide/net/wpf/advanced/printing-overview.md", - "redirect_url": "/dotnet/desktop/wpf/documents/printing-overview?view=netdesktop-5.0" + "redirect_url": "/dotnet/desktop/wpf/documents/printing-overview?view=netdesktop-6.0" }, { "source_path": "dotnet-desktop-guide/framework/wpf/documents/printing-overview.md", @@ -459,7 +459,7 @@ }, { "source_path": "dotnet-desktop-guide/net/wpf/advanced/how-to-invoke-a-print-dialog.md", - "redirect_url": "/dotnet/desktop/wpf/documents/how-to-display-print-dialog?view=netdesktop-5.0" + "redirect_url": "/dotnet/desktop/wpf/documents/how-to-display-print-dialog?view=netdesktop-6.0" }, { "source_path": "dotnet-desktop-guide/framework/wpf/documents/how-to-display-print-dialog.md", @@ -467,7 +467,7 @@ }, { "source_path": "dotnet-desktop-guide/net/wpf/advanced/how-to-programmatically-print-xps-files.md", - "redirect_url": "/dotnet/desktop/wpf/documents/how-to-print-xps-files?view=netdesktop-5.0" + "redirect_url": "/dotnet/desktop/wpf/documents/how-to-print-xps-files?view=netdesktop-6.0" }, { "source_path": "dotnet-desktop-guide/framework/wpf/documents/how-to-print-xps-files.md", @@ -475,7 +475,7 @@ }, { "source_path": "dotnet-desktop-guide/net/wpf/advanced/dependency-properties-overview.md", - "redirect_url": "/dotnet/desktop/wpf/properties/dependency-properties-overview?view=netdesktop-5.0" + "redirect_url": "/dotnet/desktop/wpf/properties/dependency-properties-overview?view=netdesktop-6.0" }, { "source_path": "dotnet-desktop-guide/framework/wpf/properties/dependency-properties-overview.md", @@ -483,7 +483,7 @@ }, { "source_path": "dotnet-desktop-guide/net/wpf/advanced/dependency-property-value-precedence.md", - "redirect_url": "/dotnet/desktop/wpf/properties/dependency-property-value-precedence?view=netdesktop-5.0" + "redirect_url": "/dotnet/desktop/wpf/properties/dependency-property-value-precedence?view=netdesktop-6.0" }, { "source_path": "dotnet-desktop-guide/framework/wpf/properties/dependency-property-value-precedence.md", @@ -491,7 +491,7 @@ }, { "source_path": "dotnet-desktop-guide/net/wpf/advanced/how-to-implement-a-dependency-property.md", - "redirect_url": "/dotnet/desktop/wpf/properties/how-to-implement-a-dependency-property?view=netdesktop-5.0" + "redirect_url": "/dotnet/desktop/wpf/properties/how-to-implement-a-dependency-property?view=netdesktop-6.0" }, { "source_path": "dotnet-desktop-guide/framework/wpf/properties/how-to-implement-a-dependency-property.md", @@ -499,7 +499,7 @@ }, { "source_path": "dotnet-desktop-guide/net/wpf/advanced/attached-properties-overview.md", - "redirect_url": "/dotnet/desktop/wpf/properties/attached-properties-overview?view=netdesktop-5.0" + "redirect_url": "/dotnet/desktop/wpf/properties/attached-properties-overview?view=netdesktop-6.0" }, { "source_path": "dotnet-desktop-guide/framework/wpf/properties/attached-properties-overview.md", @@ -507,7 +507,7 @@ }, { "source_path": "dotnet-desktop-guide/net/wpf/advanced/how-to-register-an-attached-property.md", - "redirect_url": "/dotnet/desktop/wpf/properties/how-to-register-an-attached-property?view=netdesktop-5.0" + "redirect_url": "/dotnet/desktop/wpf/properties/how-to-register-an-attached-property?view=netdesktop-6.0" }, { "source_path": "dotnet-desktop-guide/framework/wpf/properties/how-to-register-an-attached-property.md", @@ -515,7 +515,7 @@ }, { "source_path": "dotnet-desktop-guide/net/wpf/advanced/collection-type-dependency-properties.md", - "redirect_url": "/dotnet/desktop/wpf/properties/collection-type-dependency-properties?view=netdesktop-5.0" + "redirect_url": "/dotnet/desktop/wpf/properties/collection-type-dependency-properties?view=netdesktop-6.0" }, { "source_path": "dotnet-desktop-guide/framework/wpf/properties/collection-type-dependency-properties.md", @@ -523,15 +523,19 @@ }, { "source_path": "dotnet-desktop-guide/net/wpf/advanced/custom-dependency-properties.md", - "redirect_url": "/dotnet/desktop/wpf/properties/custom-dependency-properties?view=netdesktop-5.0" + "redirect_url": "/dotnet/desktop/wpf/properties/custom-dependency-properties?view=netdesktop-6.0" }, { "source_path": "dotnet-desktop-guide/framework/wpf/properties/custom-dependency-properties.md", "redirect_url": "/dotnet/desktop/wpf/advanced/custom-dependency-properties?view=netframeworkdesktop-4.8" }, + { + "source_path": "dotnet-desktop-guide/net/winforms/whats-new/index.md", + "redirect_url": "/dotnet/desktop/winforms/whats-new/net60?view=netdesktop-6.0" + }, { "source_path": "dotnet-desktop-guide/net/wpf/advanced/dependency-property-metadata.md", - "redirect_url": "/dotnet/desktop/wpf/properties/dependency-property-metadata?view=netdesktop-5.0" + "redirect_url": "/dotnet/desktop/wpf/properties/dependency-property-metadata?view=netdesktop-6.0" }, { "source_path": "dotnet-desktop-guide/framework/wpf/properties/dependency-property-metadata.md", @@ -539,7 +543,7 @@ }, { "source_path": "dotnet-desktop-guide/net/wpf/advanced/how-to-override-metadata-for-a-dependency-property.md", - "redirect_url": "/dotnet/desktop/wpf/properties/how-to-override-metadata-for-a-dependency-property?view=netdesktop-5.0" + "redirect_url": "/dotnet/desktop/wpf/properties/how-to-override-metadata-for-a-dependency-property?view=netdesktop-6.0" }, { "source_path": "dotnet-desktop-guide/framework/wpf/properties/how-to-override-metadata-for-a-dependency-property.md", diff --git a/dotnet-desktop-guide/net/includes/desktop-guide-preview-note.md b/dotnet-desktop-guide/net/includes/desktop-guide-preview-note.md index 5bbdb35..e1176f3 100644 --- a/dotnet-desktop-guide/net/includes/desktop-guide-preview-note.md +++ b/dotnet-desktop-guide/net/includes/desktop-guide-preview-note.md @@ -1,3 +1,3 @@ > [!IMPORTANT] -> The Desktop Guide documentation for .NET 5 (and .NET Core) is under construction. +> The Desktop Guide documentation for .NET 6 and .NET 5 (including .NET Core 3.1) is under construction. diff --git a/dotnet-desktop-guide/net/winforms/index.yml b/dotnet-desktop-guide/net/winforms/index.yml index f6f644e..d203b00 100644 --- a/dotnet-desktop-guide/net/winforms/index.yml +++ b/dotnet-desktop-guide/net/winforms/index.yml @@ -1,11 +1,11 @@ ### YamlMime:Landing title: Windows Forms documentation -summary: Learn about using Windows Forms, an open-source, graphical user interface for Windows, on .NET 5. +summary: Learn about using Windows Forms, an open-source, graphical user interface for Windows, on .NET 6. metadata: - title: Windows Forms for .NET 5 documentation - description: Learn about using Windows Forms, an open-source, graphical user interface for Windows, on .NET 5. + title: Windows Forms for .NET 6 documentation + description: Learn about using Windows Forms, an open-source, graphical user interface for Windows, on .NET 6. ms.topic: landing-page ms.date: 10/26/2020 @@ -32,8 +32,8 @@ landingContent: url: migration/index.md - linkListType: download links: - - text: Visual Studio 2019 version 16.8 - url: https://visualstudio.microsoft.com/downloads/?utm_medium=microsoft&utm_source=docs.microsoft.com&utm_campaign=inline+link&utm_content=download+vs2019+desktopguide+winforms + - text: Visual Studio 2022 version 17.0 + url: https://visualstudio.microsoft.com/downloads/?utm_medium=microsoft&utm_source=docs.microsoft.com&utm_campaign=inline+link&utm_content=download+vs2022+desktopguide+winforms - title: Controls linkLists: diff --git a/dotnet-desktop-guide/net/winforms/toc.yml b/dotnet-desktop-guide/net/winforms/toc.yml index fd24313..c7ef090 100644 --- a/dotnet-desktop-guide/net/winforms/toc.yml +++ b/dotnet-desktop-guide/net/winforms/toc.yml @@ -2,7 +2,11 @@ items: - name: Windows Forms for .NET href: index.yml - name: What's new - href: whats-new/index.md + items: + - name: What's new in .NET 6.0 + href: whats-new/net60.md + - name: What's new in .NET 5.0 + href: whats-new/net50.md - name: Get started items: - name: Overview diff --git a/dotnet-desktop-guide/net/winforms/whats-new/media/net60/appbootstrap.png b/dotnet-desktop-guide/net/winforms/whats-new/media/net60/appbootstrap.png new file mode 100644 index 0000000..4ede951 Binary files /dev/null and b/dotnet-desktop-guide/net/winforms/whats-new/media/net60/appbootstrap.png differ diff --git a/dotnet-desktop-guide/net/winforms/whats-new/media/net60/highdpi.png b/dotnet-desktop-guide/net/winforms/whats-new/media/net60/highdpi.png new file mode 100644 index 0000000..f82ba5e Binary files /dev/null and b/dotnet-desktop-guide/net/winforms/whats-new/media/net60/highdpi.png differ diff --git a/dotnet-desktop-guide/net/winforms/whats-new/index.md b/dotnet-desktop-guide/net/winforms/whats-new/net50.md similarity index 85% rename from dotnet-desktop-guide/net/winforms/whats-new/index.md rename to dotnet-desktop-guide/net/winforms/whats-new/net50.md index 14d0cc8..1a4e85c 100644 --- a/dotnet-desktop-guide/net/winforms/whats-new/index.md +++ b/dotnet-desktop-guide/net/winforms/whats-new/net50.md @@ -1,15 +1,15 @@ --- -title: What's new in Windows Forms -description: Learn about what's new in Windows Forms for .NET. Windows Forms. .NET provides new features and enhancements over .NET Framework. +title: What's new in Windows Forms .NET 5 +description: Learn about what's new in Windows Forms for .NET 5. Windows Forms. .NET provides new features and enhancements over .NET Framework. ms.date: 11/05/2020 ms.topic: conceptual --- -# What's new (Windows Forms .NET) +# What's new for .NET 5 (Windows Forms .NET) -Windows Forms for .NET 5.0 adds the following features and enhancements over .NET Framework. +Windows Forms for .NET 5 adds the following features and enhancements over .NET Framework. -There are a few breaking changes you should be aware of when migrating from .NET Framework to .NET 5.0. For more information, see [Breaking changes in Windows Forms](/dotnet/core/compatibility/winforms). +There are a few breaking changes you should be aware of when migrating from .NET Framework to .NET 5. For more information, see [Breaking changes in Windows Forms](/dotnet/core/compatibility/winforms). ## Enhanced features diff --git a/dotnet-desktop-guide/net/winforms/whats-new/net60.md b/dotnet-desktop-guide/net/winforms/whats-new/net60.md new file mode 100644 index 0000000..1fb0288 --- /dev/null +++ b/dotnet-desktop-guide/net/winforms/whats-new/net60.md @@ -0,0 +1,250 @@ +--- +title: What's new in Windows Forms .NET 6 +description: Learn about what's new in Windows Forms for .NET 6. Windows Forms. .NET provides new features and enhancements over .NET Framework. +ms.date: 11/11/2021 +ms.topic: conceptual +--- + +# What's new for .NET 6 (Windows Forms .NET) + +This article describes some of the new Windows Forms features and enhancements in .NET 6. + +There are a few breaking changes you should be aware of when migrating from .NET Framework to .NET 6. For more information, see [Breaking changes in Windows Forms](/dotnet/core/compatibility/winforms). + +## Updated templates for C\# + +.NET 6 introduced many [changes to the standard console application templates](/dotnet/core/whats-new/dotnet-6#c-10-and-templates). In line with those changes, the Windows Forms templates for C# have been updated to enable [`global using` directives](/dotnet/core/project-sdk/overview#implicit-using-directives), [file-scoped namespaces](/dotnet/csharp/fundamentals/types/namespaces), and [nullable reference types](/dotnet/csharp/nullable-references) by default. + +One feature of the new C# templates that has not been carried forward with Windows Forms is [top-level statements](/dotnet/csharp/fundamentals/program-structure/top-level-statements). The typical Windows Forms application requires the `[STAThread]` attribute and consists of multiple types split across multiple files, such as the designer code files, so using **top-level statements** doesn't make sense. + +## New application bootstrap + +The templates that generate a new Windows Forms application create a `Main` method which serves as the entry point for your application when it runs. This method contains code that configures Windows Forms and displays the first form, known as the bootstrap code: + +```csharp +class Program +{ + [STAThread] + static void Main() + { + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + Application.Run(new Form1()); + } +} +``` + +In .NET 6, these templates have been modified to use the new bootstrap code, invoked by the `ApplicationConfiguration.Initialize` method. + +```csharp +class Program +{ + [STAThread] + static void Main() + { + ApplicationConfiguration.Initialize(); + Application.Run(new Form1()); + } +} +``` + +This method is automatically generated at compile time and contains the code to configure Windows Forms. The project file can control these settings now too, and you can avoid configuring it in code. For example, the generated method looks similar to the following code: + +```csharp +public static void Initialize() +{ + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + Application.SetHighDpiMode(HighDpiMode.SystemAware); +} +``` + +The new bootstrap code is used by Visual Studio to configure the Windows Forms Visual Designer. If you opt-out of using the new bootstrap code, by restoring the old code and bypassing the `ApplicationConfiguration.Initialize` method, the Windows Forms Visual Designer won't respect the bootstrap settings you set. + +The settings generated in the `Initialize` method are controlled by the project file. + +### Project-level application settings + +To complement the [new application bootstrap](#new-application-bootstrap) feature of Windows Forms, a few `Application` settings previously set in the startup code of the application should be set in the project file. The project file can configure the following application settings: + +| Project setting | Default value | Corresponding API | +|-------------------------------------------------------------------------------------------------------------------------------|-----------------|----------------------------------------------------------------------------------------| +| [ApplicationVisualStyles](/dotnet/core/project-sdk/msbuild-props-desktop#applicationvisualstyles) | `true` | `Application.EnableVisualStyles` | +| [ApplicationUseCompatibleTextRendering](/dotnet/core/project-sdk/msbuild-props-desktop#applicationusecompatibletextrendering) | `false` | `Application.SetCompatibleTextRenderingDefault` | +| [ApplicationHighDpiMode](/dotnet/core/project-sdk/msbuild-props-desktop#applicationhighdpimode) | `SystemAware` | `Application.SetHighDpiMode` | +| [ApplicationDefaultFont](/dotnet/core/project-sdk/msbuild-props-desktop#applicationdefaultfont) | `Segoe UI, 9pt` | `Application.SetDefaultFont` | + +The following example demonstrates a project file that sets these application-related properties: + +```xml + + + + WinExe + net6.0-windows + enable + true + enable + + true + false + SystemAware + Microsoft Sans Serif, 8.25pt + + + + +``` + +The Windows Forms Visual Designer uses these settings. For more information, see the [Visual Studio designer improvements section](#visual-studio-designer-improvements). + +## Change the default font + +Windows Forms on .NET Core 3.0 introduced a new default font for Windows Forms: **Segoe UI, 9pt**. This font better aligned to the [Windows user experience (UX) guidelines](/windows/win32/uxguide/vis-fonts#fonts-and-colors). However, .NET Framework uses **Microsoft Sans Serif, 8.25pt** as the default font. This change made it harder for some customers to migrate their large applications that utilized a pixel-perfect layout from .NET Framework to .NET. The only way to change the font for the whole application was to edit every form in the project, setting the property to an alternate font. + +The default font can now be set in two ways: + +- Set the default font in the project file to be used by the [application bootstrap](#new-application-bootstrap) code: + + > [!IMPORTANT] + > This is the preferred way. Using the project to configure the new application bootstrap system allows Visual Studio to use these settings in the designer. + + In the following example, the project file configures Windows Forms to use the same font that .NET Framework uses. + + ```xml + + + + + + Microsoft Sans Serif, 8.25pt + + + + ``` + + \- or - + +- Call the the API in the old way (but with no designer support): + + ```csharp + class Program + { + [STAThread] + static void Main() + { + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + Application.SetHighDpiMode(HighDpiMode.SystemAware); + Application.SetDefaultFont(new Font(new FontFamily("Microsoft Sans Serif"), 8.25f)); + Application.Run(new Form1()); + } + } + ``` + +## Visual Studio designer improvements + +The Windows Forms Visual Designer now accurately reflects the default font. Previous versions of Windows Forms for .NET didn't properly display the **Segoe UI** font in the Visual Designer, and was actually designing the form with the .NET Framework's default font. Because of the new [new application bootstrap](#new-application-bootstrap) feature, the Visual Designer accurately reflects the default font. Additionally, the Visual Designer respects the default font that's set in the project file. + +:::image type="content" source="media/net60/appbootstrap.png" alt-text="Windows Forms designer is using the default font setting in Visual Studio"::: + +### More runtime designers + +Designers that existed in the .NET Framework and enabled building a general-purpose designer, for example building a report designer, have been added to .NET 6: + +- +- System.Windows.Forms.Design.ButtonBaseDesigner +- System.Windows.Forms.Design.ComboBoxDesigner +- +- +- +- System.Windows.Forms.Design.FormDocumentDesigner +- System.Windows.Forms.Design.GroupBoxDesigner +- System.Windows.Forms.Design.LabelDesigner +- System.Windows.Forms.Design.ListBoxDesigner +- System.Windows.Forms.Design.ListViewDesigner +- System.Windows.Forms.Design.MaskedTextBoxDesigner +- System.Windows.Forms.Design.PanelDesigner +- +- +- System.Windows.Forms.Design.PictureBoxDesigner +- System.Windows.Forms.Design.RadioButtonDesigner +- System.Windows.Forms.Design.RichTextBoxDesigner +- +- +- System.Windows.Forms.Design.TextBoxBaseDesigner +- System.Windows.Forms.Design.TextBoxDesigner +- System.Windows.Forms.Design.ToolStripDesigner +- System.Windows.Forms.Design.ToolStripDropDownDesigner +- System.Windows.Forms.Design.ToolStripItemDesigner +- System.Windows.Forms.Design.ToolStripMenuItemDesigner +- System.Windows.Forms.Design.TreeViewDesigner +- System.Windows.Forms.Design.UpDownBaseDesigner +- System.Windows.Forms.Design.UserControlDocumentDesigner + +## High DPI improvements for PerMonitorV2 + +High DPI rendering with have been improved: + +- Controls are created with the same DPI awareness as the application. +- Container controls and MDI child windows have improved scaling behaviors. + + For example, in .NET 5, moving a Windows Forms app from a monitor with 200% scaling to a monitor with 100% scaling would result in misplaced controls. This has been greatly improved in .NET 6: + + :::image type="content" source="media/net60/highdpi.png" alt-text="High DPI improvements in .NET 6 for Windows Forms"::: + +## New APIs + +- +- +- +- + +### New Visual Basic APIs + +- +- +- +- +- +- +- +- +- +- +- + +## Updated APIs + +- now accepts and as input parameters. +- now accepts as an input parameter. +- is extended with the following members: + + - `TryAgain` + - `Continue` + +- has a new property: +- is extended with the following member: + + - `CancelTryContinue` + +- is extended with the following member: + + - `Button4` + +- has now a new constructor and extended with the following properties: + + - + - + +- is now limited to 127 characters (from 63). + +## Improved accessibility + +Microsoft UI Automation patterns work better with accessibility tools like Narrator and Jaws. + +## See also + +- [Breaking changes in Windows Forms](/dotnet/core/compatibility/winforms) +- [Tutorial: Create a new WinForms app](../get-started/create-app-visual-studio.md) +- [How to migrate a Windows Forms desktop app to .NET 6](../migration/index.md) diff --git a/redirects_generator/definitions.json b/redirects_generator/definitions.json index 2b125de..02a4d99 100644 --- a/redirects_generator/definitions.json +++ b/redirects_generator/definitions.json @@ -1,7 +1,7 @@ { "Moniker1": "netframeworkdesktop-4.8", "RepoPath1": "dotnet-desktop-guide/framework/", - "Moniker2": "netdesktop-5.0", + "Moniker2": "netdesktop-6.0", "RepoPath2": "dotnet-desktop-guide/net/", "PublishRoot": "/dotnet/desktop/", "Entries": [ @@ -12,187 +12,187 @@ { "Redirect": "TwoWay", "SourceUrl": "/dotnet/desktop/winforms/how-to-create-a-windows-forms-application-from-the-command-line?view=netframeworkdesktop-4.8", - "TargetUrl": "/dotnet/desktop/winforms/get-started/create-app-visual-studio?view=netdesktop-5.0" + "TargetUrl": "/dotnet/desktop/winforms/get-started/create-app-visual-studio?view=netdesktop-6.0" }, { "Redirect": "TwoWay", "SourceUrl": "/dotnet/desktop/winforms/windows-forms-overview?view=netframeworkdesktop-4.8", - "TargetUrl": "/dotnet/desktop/winforms/overview/?view=netdesktop-5.0" + "TargetUrl": "/dotnet/desktop/winforms/overview/?view=netdesktop-6.0" }, // Events { "Redirect": "TwoWay", "SourceUrl": "/dotnet/desktop/winforms/events-overview-windows-forms?view=netframeworkdesktop-4.8", - "TargetUrl": "/dotnet/desktop/winforms/forms/events?view=netdesktop-5.0" + "TargetUrl": "/dotnet/desktop/winforms/forms/events?view=netdesktop-6.0" }, { "Redirect": "OneWay", "SourceUrl": "/dotnet/desktop/winforms/creating-event-handlers-in-windows-forms?view=netframeworkdesktop-4.8", - "TargetUrl": "/dotnet/desktop/winforms/forms/events?view=netdesktop-5.0" + "TargetUrl": "/dotnet/desktop/winforms/forms/events?view=netdesktop-6.0" }, { "Redirect": "TwoWay", "SourceUrl": "/dotnet/desktop/winforms/automatic-scaling-in-windows-forms?view=netframeworkdesktop-4.8", - "TargetUrl": "/dotnet/desktop/winforms/forms/autoscale?view=netdesktop-5.0" + "TargetUrl": "/dotnet/desktop/winforms/forms/autoscale?view=netdesktop-6.0" }, { "Redirect": "TwoWay", "SourceUrl": "/dotnet/desktop/winforms/how-to-resize-windows-forms?view=netframeworkdesktop-4.8", - "TargetUrl": "/dotnet/desktop/winforms/forms/how-to-position-and-resize?view=netdesktop-5.0" + "TargetUrl": "/dotnet/desktop/winforms/forms/how-to-position-and-resize?view=netdesktop-6.0" }, // Controls { "Redirect": "TwoWay", "SourceUrl": "/dotnet/desktop/winforms/controls/index?view=netframeworkdesktop-4.8", - "TargetUrl": "/dotnet/desktop/winforms/controls/overview?view=netdesktop-5.0" + "TargetUrl": "/dotnet/desktop/winforms/controls/overview?view=netdesktop-6.0" }, { "Redirect": "TwoWay", "SourceUrl": "/dotnet/desktop/winforms/controls/layout-in-windows-forms-controls?view=netframeworkdesktop-4.8", - "TargetUrl": "/dotnet/desktop/winforms/controls/layout?view=netdesktop-5.0" + "TargetUrl": "/dotnet/desktop/winforms/controls/layout?view=netdesktop-6.0" }, { "Redirect": "OneWay", "SourceUrl": "/dotnet/desktop/winforms/controls/autosize-property-overview?view=netframeworkdesktop-4.8", - "TargetUrl": "/dotnet/desktop/winforms/controls/layout?view=netdesktop-5.0#automatic-sizing" + "TargetUrl": "/dotnet/desktop/winforms/controls/layout?view=netdesktop-6.0#automatic-sizing" }, { "Redirect": "OneWay", "SourceUrl": "/dotnet/desktop/winforms/controls/margin-and-padding-in-windows-forms-controls?view=netframeworkdesktop-4.8", - "TargetUrl": "/dotnet/desktop/winforms/controls/layout?view=netdesktop-5.0#margin-and-padding" + "TargetUrl": "/dotnet/desktop/winforms/controls/layout?view=netdesktop-6.0#margin-and-padding" }, { "Redirect": "TwoWay", "SourceUrl": "/dotnet/desktop/winforms/controls/label-control-overview-windows-forms?view=netframeworkdesktop-4.8", - "TargetUrl": "/dotnet/desktop/winforms/controls/labels?view=netdesktop-5.0" + "TargetUrl": "/dotnet/desktop/winforms/controls/labels?view=netdesktop-6.0" }, { "Redirect": "TwoWay", "SourceUrl": "/dotnet/desktop/winforms/controls/how-to-set-the-tab-order-on-windows-forms?view=netframeworkdesktop-4.8", - "TargetUrl": "/dotnet/desktop/winforms/controls/how-to-set-the-tab-order?view=netdesktop-5.0" + "TargetUrl": "/dotnet/desktop/winforms/controls/how-to-set-the-tab-order?view=netdesktop-6.0" }, { "Redirect": "TwoWay", "SourceUrl": "/dotnet/desktop/winforms/controls/how-to-anchor-controls-on-windows-forms?view=netframeworkdesktop-4.8", - "TargetUrl": "/dotnet/desktop/winforms/controls/how-to-dock-and-anchor?view=netdesktop-5.0" + "TargetUrl": "/dotnet/desktop/winforms/controls/how-to-dock-and-anchor?view=netdesktop-6.0" }, { "Redirect": "OneWay", "SourceUrl": "/dotnet/desktop/winforms/controls/how-to-dock-controls-on-windows-forms?view=netframeworkdesktop-4.8", - "TargetUrl": "/dotnet/desktop/winforms/controls/how-to-dock-and-anchor?view=netdesktop-5.0" + "TargetUrl": "/dotnet/desktop/winforms/controls/how-to-dock-and-anchor?view=netdesktop-6.0" }, { "Redirect": "TwoWay", "SourceUrl": "/dotnet/desktop/winforms/how-to-create-event-handlers-at-run-time-for-windows-forms?view=netframeworkdesktop-4.8", - "TargetUrl": "/dotnet/desktop/winforms/controls/how-to-add-an-event-handler?view=netdesktop-5.0" + "TargetUrl": "/dotnet/desktop/winforms/controls/how-to-add-an-event-handler?view=netdesktop-6.0" }, { "Redirect": "OneWay", "SourceUrl": "/dotnet/desktop/winforms/how-to-connect-multiple-events-to-a-single-event-handler-in-windows-forms?view=netframeworkdesktop-4.8", - "TargetUrl": "/dotnet/desktop/winforms/controls/how-to-add-an-event-handler?view=netdesktop-5.0#how-to-use-multiple-events-with-the-same-handler" + "TargetUrl": "/dotnet/desktop/winforms/controls/how-to-add-an-event-handler?view=netdesktop-6.0#how-to-use-multiple-events-with-the-same-handler" }, { "Redirect": "TwoWay", "SourceUrl": "/dotnet/desktop/winforms/controls/how-to-make-thread-safe-calls-to-windows-forms-controls?view=netframeworkdesktop-4.8", - "TargetUrl": "/dotnet/desktop/winforms/controls/how-to-make-thread-safe-calls?view=netdesktop-5.0" + "TargetUrl": "/dotnet/desktop/winforms/controls/how-to-make-thread-safe-calls?view=netdesktop-6.0" }, // Custom controls { "Redirect": "TwoWay", "SourceUrl": "/dotnet/desktop/winforms/controls/varieties-of-custom-controls?view=netframeworkdesktop-4.8", - "TargetUrl": "/dotnet/desktop/winforms/controls/custom?view=netdesktop-5.0" + "TargetUrl": "/dotnet/desktop/winforms/controls/custom?view=netdesktop-6.0" }, { "Redirect": "OneWay", "SourceUrl": "/dotnet/desktop/winforms/controls/control-type-recommendations?view=netframeworkdesktop-4.8", - "TargetUrl": "/dotnet/desktop/winforms/controls/custom?view=netdesktop-5.0" + "TargetUrl": "/dotnet/desktop/winforms/controls/custom?view=netdesktop-6.0" }, // Custom painting and drawing { "Redirect": "TwoWay", "SourceUrl": "/dotnet/desktop/winforms/controls/custom-control-painting-and-rendering?view=netframeworkdesktop-4.8", - "TargetUrl": "/dotnet/desktop/winforms/controls/custom-painting-drawing?view=netdesktop-5.0" + "TargetUrl": "/dotnet/desktop/winforms/controls/custom-painting-drawing?view=netdesktop-6.0" }, { "Redirect": "OneWay", "SourceUrl": "/dotnet/desktop/winforms/controls/rendering-a-windows-forms-control?view=netframeworkdesktop-4.8", - "TargetUrl": "/dotnet/desktop/winforms/controls/custom-painting-drawing?view=netdesktop-5.0" + "TargetUrl": "/dotnet/desktop/winforms/controls/custom-painting-drawing?view=netdesktop-6.0" }, { "Redirect": "OneWay", "SourceUrl": "/dotnet/desktop/winforms/controls/user-drawn-controls?view=netframeworkdesktop-4.8", - "TargetUrl": "/dotnet/desktop/winforms/controls/custom-painting-drawing?view=netdesktop-5.0" + "TargetUrl": "/dotnet/desktop/winforms/controls/custom-painting-drawing?view=netdesktop-6.0" }, { "Redirect": "TwoWay", "SourceUrl": "/dotnet/desktop/winforms/controls/how-to-add-controls-to-windows-forms?view=netframeworkdesktop-4.8", - "TargetUrl": "/dotnet/desktop/winforms/controls/how-to-add-to-a-form?view=netdesktop-5.0" + "TargetUrl": "/dotnet/desktop/winforms/controls/how-to-add-to-a-form?view=netdesktop-6.0" }, { "Redirect": "TwoWay", "SourceUrl": "/dotnet/desktop/winforms/controls/how-to-create-access-keys-for-windows-forms-controls?view=netframeworkdesktop-4.8", - "TargetUrl": "/dotnet/desktop/winforms/controls/how-to-create-access-keys?view=netdesktop-5.0" + "TargetUrl": "/dotnet/desktop/winforms/controls/how-to-create-access-keys?view=netdesktop-6.0" }, { "Redirect": "TwoWay", "SourceUrl": "/dotnet/desktop/winforms/controls/how-to-set-the-text-displayed-by-a-windows-forms-control?view=netframeworkdesktop-4.8", - "TargetUrl": "/dotnet/desktop/winforms/controls/how-to-set-the-display-text?view=netdesktop-5.0" + "TargetUrl": "/dotnet/desktop/winforms/controls/how-to-set-the-display-text?view=netdesktop-6.0" }, { "Redirect": "TwoWay", "SourceUrl": "/dotnet/desktop/winforms/controls/how-to-set-the-image-displayed-by-a-windows-forms-control?view=netframeworkdesktop-4.8", - "TargetUrl": "/dotnet/desktop/winforms/controls/how-to-add-a-picture-to-a-control?view=netdesktop-5.0" + "TargetUrl": "/dotnet/desktop/winforms/controls/how-to-add-a-picture-to-a-control?view=netdesktop-6.0" }, // Keyboard overview { "Redirect": "TwoWay", "SourceUrl": "/dotnet/desktop/winforms/keyboard-input-in-a-windows-forms-application?view=netframeworkdesktop-4.8", - "TargetUrl": "/dotnet/desktop/winforms/input-keyboard/overview?view=netdesktop-5.0" + "TargetUrl": "/dotnet/desktop/winforms/input-keyboard/overview?view=netdesktop-6.0" }, { "Redirect": "OneWay", "SourceUrl": "/dotnet/desktop/winforms/how-keyboard-input-works?view=netframeworkdesktop-4.8", - "TargetUrl": "/dotnet/desktop/winforms/input-keyboard/overview?view=netdesktop-5.0" + "TargetUrl": "/dotnet/desktop/winforms/input-keyboard/overview?view=netdesktop-6.0" }, { "Redirect": "TwoWay", "SourceUrl": "/dotnet/desktop/winforms/using-keyboard-events?view=netframeworkdesktop-4.8", - "TargetUrl": "/dotnet/desktop/winforms/input-keyboard/events?view=netdesktop-5.0" + "TargetUrl": "/dotnet/desktop/winforms/input-keyboard/events?view=netdesktop-6.0" }, { "Redirect": "TwoWay", "SourceUrl": "/dotnet/desktop/winforms/user-input-validation-in-windows-forms?view=netframeworkdesktop-4.8", - "TargetUrl": "/dotnet/desktop/winforms/input-keyboard/validation?view=netdesktop-5.0" + "TargetUrl": "/dotnet/desktop/winforms/input-keyboard/validation?view=netdesktop-6.0" }, { "Redirect": "TwoWay", "SourceUrl": "/dotnet/desktop/winforms/how-to-modify-keyboard-input-to-a-standard-control?view=netframeworkdesktop-4.8", - "TargetUrl": "/dotnet/desktop/winforms/input-keyboard/how-to-change-key-press?view=netdesktop-5.0" + "TargetUrl": "/dotnet/desktop/winforms/input-keyboard/how-to-change-key-press?view=netdesktop-6.0" }, { "Redirect": "TwoWay", "SourceUrl": "/dotnet/desktop/winforms/how-to-determine-which-modifier-key-was-pressed?view=netframeworkdesktop-4.8", - "TargetUrl": "/dotnet/desktop/winforms/input-keyboard/how-to-check-modifier-key?view=netdesktop-5.0" + "TargetUrl": "/dotnet/desktop/winforms/input-keyboard/how-to-check-modifier-key?view=netdesktop-6.0" }, { "Redirect": "TwoWay", "SourceUrl": "/dotnet/desktop/winforms/how-to-handle-keyboard-input-at-the-form-level?view=netframeworkdesktop-4.8", - "TargetUrl": "/dotnet/desktop/winforms/input-keyboard/how-to-handle-forms?view=netdesktop-5.0" + "TargetUrl": "/dotnet/desktop/winforms/input-keyboard/how-to-handle-forms?view=netdesktop-6.0" }, { "Redirect": "OneWay", - "SourceUrl": "/dotnet/desktop/winforms/input-keyboard/how-to-simulate-events?view=netdesktop-5.0", + "SourceUrl": "/dotnet/desktop/winforms/input-keyboard/how-to-simulate-events?view=netdesktop-6.0", "TargetUrl": "/dotnet/desktop/winforms/how-to-simulate-mouse-and-keyboard-events-in-code?view=netframeworkdesktop-4.8" }, @@ -200,39 +200,48 @@ { "Redirect": "TwoWay", "SourceUrl": "/dotnet/desktop/winforms/mouse-input-in-a-windows-forms-application?view=netframeworkdesktop-4.8", - "TargetUrl": "/dotnet/desktop/winforms/input-mouse/overview?view=netdesktop-5.0" + "TargetUrl": "/dotnet/desktop/winforms/input-mouse/overview?view=netdesktop-6.0" }, { "Redirect": "OneWay", "SourceUrl": "/dotnet/desktop/winforms/how-mouse-input-works-in-windows-forms?view=netframeworkdesktop-4.8", - "TargetUrl": "/dotnet/desktop/winforms/input-mouse/overview?view=netdesktop-5.0" + "TargetUrl": "/dotnet/desktop/winforms/input-mouse/overview?view=netdesktop-6.0" }, { "Redirect": "TwoWay", "SourceUrl": "/dotnet/desktop/winforms/mouse-events-in-windows-forms?view=netframeworkdesktop-4.8", - "TargetUrl": "/dotnet/desktop/winforms/input-mouse/events?view=netdesktop-5.0" + "TargetUrl": "/dotnet/desktop/winforms/input-mouse/events?view=netdesktop-6.0" }, { "Redirect": "TwoWay", "SourceUrl": "/dotnet/desktop/winforms/drag-and-drop-functionality-in-windows-forms?view=netframeworkdesktop-4.8", - "TargetUrl": "/dotnet/desktop/winforms/input-mouse/drag-and-drop?view=netdesktop-5.0" + "TargetUrl": "/dotnet/desktop/winforms/input-mouse/drag-and-drop?view=netdesktop-6.0" }, { "Redirect": "TwoWay", "SourceUrl": "/dotnet/desktop/winforms/mouse-pointers-in-windows-forms?view=netframeworkdesktop-4.8", - "TargetUrl": "/dotnet/desktop/winforms/input-mouse/how-to-manage-cursor-pointer?view=netdesktop-5.0" + "TargetUrl": "/dotnet/desktop/winforms/input-mouse/how-to-manage-cursor-pointer?view=netdesktop-6.0" }, { "Redirect": "TwoWay", "SourceUrl": "/dotnet/desktop/winforms/how-to-simulate-mouse-and-keyboard-events-in-code?view=netframeworkdesktop-4.8", - "TargetUrl": "/dotnet/desktop/winforms/input-mouse/how-to-simulate-events?view=netdesktop-5.0" + "TargetUrl": "/dotnet/desktop/winforms/input-mouse/how-to-simulate-events?view=netdesktop-6.0" }, { "Redirect": "TwoWay", "SourceUrl": "/dotnet/desktop/winforms/how-to-distinguish-between-clicks-and-double-clicks?view=netframeworkdesktop-4.8", - "TargetUrl": "/dotnet/desktop/winforms/input-mouse/how-to-distinguish-between-clicks-and-double-clicks?view=netdesktop-5.0" + "TargetUrl": "/dotnet/desktop/winforms/input-mouse/how-to-distinguish-between-clicks-and-double-clicks?view=netdesktop-6.0" + }, + + // ======== + // WinForms Index mappings + // ======== + { + "Redirect": "Normal", + "SourceUrl": "/dotnet/desktop/winforms/whats-new/index?view=netdesktop-5.0", + "TargetUrl": "/dotnet/desktop/winforms/whats-new/net60?view=netdesktop-5.0" }, @@ -244,186 +253,186 @@ { "Redirect": "TwoWay", "SourceUrl": "/dotnet/desktop/wpf/introduction-to-wpf?view=netframeworkdesktop-4.8", - "TargetUrl": "/dotnet/desktop/wpf/overview/?view=netdesktop-5.0" + "TargetUrl": "/dotnet/desktop/wpf/overview/?view=netdesktop-6.0" }, { "Redirect": "TwoWay", "SourceUrl": "/dotnet/desktop/wpf/getting-started/walkthrough-my-first-wpf-desktop-application?view=netframeworkdesktop-4.8", - "TargetUrl": "/dotnet/desktop/wpf/get-started/create-app-visual-studio?view=netdesktop-5.0" + "TargetUrl": "/dotnet/desktop/wpf/get-started/create-app-visual-studio?view=netdesktop-6.0" }, // Windows { "Redirect": "TwoWay", "SourceUrl": "/dotnet/desktop/wpf/app-development/wpf-windows-overview?view=netframeworkdesktop-4.8", - "TargetUrl": "/dotnet/desktop/wpf/windows/index?view=netdesktop-5.0" + "TargetUrl": "/dotnet/desktop/wpf/windows/index?view=netdesktop-6.0" }, { "Redirect": "TwoWay", "SourceUrl": "/dotnet/desktop/wpf/app-development/dialog-boxes-overview?view=netframeworkdesktop-4.8", - "TargetUrl": "/dotnet/desktop/wpf/windows/dialog-boxes-overview?view=netdesktop-5.0" + "TargetUrl": "/dotnet/desktop/wpf/windows/dialog-boxes-overview?view=netdesktop-6.0" }, { "Redirect": "TwoWay", "SourceUrl": "/dotnet/desktop/wpf/app-development/how-to-open-a-window?view=netframeworkdesktop-4.8", - "TargetUrl": "/dotnet/desktop/wpf/windows/how-to-open-window-dialog-box?view=netdesktop-5.0" + "TargetUrl": "/dotnet/desktop/wpf/windows/how-to-open-window-dialog-box?view=netdesktop-6.0" }, { "Redirect": "OneWay", "SourceUrl": "/dotnet/desktop/wpf/app-development/how-to-open-a-dialog-box?view=netframeworkdesktop-4.8", - "TargetUrl": "/dotnet/desktop/wpf/windows/how-to-open-window-dialog-box?view=netdesktop-5.0" + "TargetUrl": "/dotnet/desktop/wpf/windows/how-to-open-window-dialog-box?view=netdesktop-6.0" }, { "Redirect": "OneWay", "SourceUrl": "/dotnet/desktop/wpf/how-to-return-a-dialog-box-result?view=netframeworkdesktop-4.8", - "TargetUrl": "/dotnet/desktop/wpf/windows/how-to-open-window-dialog-box?view=netdesktop-5.0" + "TargetUrl": "/dotnet/desktop/wpf/windows/how-to-open-window-dialog-box?view=netdesktop-6.0" }, { "Redirect": "TwoWay", "SourceUrl": "/dotnet/desktop/wpf/app-development/how-to-open-a-message-box?view=netframeworkdesktop-4.8", - "TargetUrl": "/dotnet/desktop/wpf/windows/how-to-open-message-box?view=netdesktop-5.0" + "TargetUrl": "/dotnet/desktop/wpf/windows/how-to-open-message-box?view=netdesktop-6.0" }, { "Redirect": "TwoWay", "SourceUrl": "/dotnet/desktop/wpf/app-development/how-to-get-and-set-the-main-application-window?view=netframeworkdesktop-4.8", - "TargetUrl": "/dotnet/desktop/wpf/windows/how-to-get-set-main-application-window?view=netdesktop-5.0" + "TargetUrl": "/dotnet/desktop/wpf/windows/how-to-get-set-main-application-window?view=netdesktop-6.0" }, // Data { "Redirect": "OneWay", "SourceUrl": "/dotnet/desktop/wpf/data/data-binding-overview?view=netframeworkdesktop-4.8", - "TargetUrl": "/dotnet/desktop/wpf/data/index?view=netdesktop-5.0" + "TargetUrl": "/dotnet/desktop/wpf/data/index?view=netdesktop-6.0" }, { "Redirect": "OneWay", "SourceUrl": "/dotnet/desktop/wpf/data/how-to-specify-the-direction-of-the-binding?view=netframeworkdesktop-4.8", - "TargetUrl": "/dotnet/desktop/wpf/data/binding-declarations-overview?view=netdesktop-5.0#binding-direction" + "TargetUrl": "/dotnet/desktop/wpf/data/binding-declarations-overview?view=netdesktop-6.0#binding-direction" }, // Documents/Printing { "Redirect": "TwoWay", "SourceUrl": "/dotnet/desktop/wpf/advanced/printing-overview?view=netframeworkdesktop-4.8", - "TargetUrl": "/dotnet/desktop/wpf/documents/printing-overview?view=netdesktop-5.0" + "TargetUrl": "/dotnet/desktop/wpf/documents/printing-overview?view=netdesktop-6.0" }, { "Redirect": "TwoWay", "SourceUrl": "/dotnet/desktop/wpf/advanced/how-to-invoke-a-print-dialog?view=netframeworkdesktop-4.8", - "TargetUrl": "/dotnet/desktop/wpf/documents/how-to-display-print-dialog?view=netdesktop-5.0" + "TargetUrl": "/dotnet/desktop/wpf/documents/how-to-display-print-dialog?view=netdesktop-6.0" }, { "Redirect": "TwoWay", "SourceUrl": "/dotnet/desktop/wpf/advanced/how-to-programmatically-print-xps-files?view=netframeworkdesktop-4.8", - "TargetUrl": "/dotnet/desktop/wpf/documents/how-to-print-xps-files?view=netdesktop-5.0" + "TargetUrl": "/dotnet/desktop/wpf/documents/how-to-print-xps-files?view=netdesktop-6.0" }, // Systems - Properties { "Redirect": "TwoWay", "SourceUrl": "/dotnet/desktop/wpf/advanced/dependency-properties-overview?view=netframeworkdesktop-4.8", - "TargetUrl": "/dotnet/desktop/wpf/properties/dependency-properties-overview?view=netdesktop-5.0" + "TargetUrl": "/dotnet/desktop/wpf/properties/dependency-properties-overview?view=netdesktop-6.0" }, { "Redirect": "TwoWay", "SourceUrl": "/dotnet/desktop/wpf/advanced/dependency-property-value-precedence?view=netframeworkdesktop-4.8", - "TargetUrl": "/dotnet/desktop/wpf/properties/dependency-property-value-precedence?view=netdesktop-5.0" + "TargetUrl": "/dotnet/desktop/wpf/properties/dependency-property-value-precedence?view=netdesktop-6.0" }, { "Redirect": "TwoWay", "SourceUrl": "/dotnet/desktop/wpf/advanced/attached-properties-overview?view=netframeworkdesktop-4.8", - "TargetUrl": "/dotnet/desktop/wpf/properties/attached-properties-overview?view=netdesktop-5.0" + "TargetUrl": "/dotnet/desktop/wpf/properties/attached-properties-overview?view=netdesktop-6.0" }, { "Redirect": "TwoWay", "SourceUrl": "/dotnet/desktop/wpf/advanced/collection-type-dependency-properties?view=netframeworkdesktop-4.8", - "TargetUrl": "/dotnet/desktop/wpf/properties/collection-type-dependency-properties?view=netdesktop-5.0" + "TargetUrl": "/dotnet/desktop/wpf/properties/collection-type-dependency-properties?view=netdesktop-6.0" }, { "Redirect": "TwoWay", "SourceUrl": "/dotnet/desktop/wpf/advanced/how-to-register-an-attached-property?view=netframeworkdesktop-4.8", - "TargetUrl": "/dotnet/desktop/wpf/properties/how-to-register-an-attached-property?view=netdesktop-5.0" + "TargetUrl": "/dotnet/desktop/wpf/properties/how-to-register-an-attached-property?view=netdesktop-6.0" }, { "Redirect": "TwoWay", "SourceUrl": "/dotnet/desktop/wpf/advanced/how-to-implement-a-dependency-property?view=netframeworkdesktop-4.8", - "TargetUrl": "/dotnet/desktop/wpf/properties/how-to-implement-a-dependency-property?view=netdesktop-5.0" + "TargetUrl": "/dotnet/desktop/wpf/properties/how-to-implement-a-dependency-property?view=netdesktop-6.0" }, { "Redirect": "TwoWay", "SourceUrl": "/dotnet/desktop/wpf/advanced/custom-dependency-properties?view=netframeworkdesktop-4.8", - "TargetUrl": "/dotnet/desktop/wpf/properties/custom-dependency-properties?view=netdesktop-5.0" + "TargetUrl": "/dotnet/desktop/wpf/properties/custom-dependency-properties?view=netdesktop-6.0" }, { "Redirect": "TwoWay", "SourceUrl": "/dotnet/desktop/wpf/advanced/dependency-property-metadata?view=netframeworkdesktop-4.8", - "TargetUrl": "/dotnet/desktop/wpf/properties/dependency-property-metadata?view=netdesktop-5.0" + "TargetUrl": "/dotnet/desktop/wpf/properties/dependency-property-metadata?view=netdesktop-6.0" }, { "Redirect": "TwoWay", "SourceUrl": "/dotnet/desktop/wpf/advanced/how-to-override-metadata-for-a-dependency-property?view=netframeworkdesktop-4.8", - "TargetUrl": "/dotnet/desktop/wpf/properties/how-to-override-metadata-for-a-dependency-property?view=netdesktop-5.0" + "TargetUrl": "/dotnet/desktop/wpf/properties/how-to-override-metadata-for-a-dependency-property?view=netdesktop-6.0" }, // Systems - XAML { "Redirect": "TwoWay", "SourceUrl": "/dotnet/desktop/wpf/advanced/xaml-resources-define?view=netframeworkdesktop-4.8", - "TargetUrl": "/dotnet/desktop/wpf/systems/xaml-resources-overview?view=netdesktop-5.0" + "TargetUrl": "/dotnet/desktop/wpf/systems/xaml-resources-overview?view=netdesktop-6.0" }, { "Redirect": "TwoWay", "SourceUrl": "/dotnet/desktop/wpf/advanced/resources-and-code?view=netframeworkdesktop-4.8", - "TargetUrl": "/dotnet/desktop/wpf/systems/xaml-resources-and-code?view=netdesktop-5.0" + "TargetUrl": "/dotnet/desktop/wpf/systems/xaml-resources-and-code?view=netdesktop-6.0" }, { "Redirect": "TwoWay", "SourceUrl": "/dotnet/desktop/wpf/advanced/merged-resource-dictionaries?view=netframeworkdesktop-4.8", - "TargetUrl": "/dotnet/desktop/wpf/systems/xaml-resources-merged-dictionaries?view=netdesktop-5.0" + "TargetUrl": "/dotnet/desktop/wpf/systems/xaml-resources-merged-dictionaries?view=netdesktop-6.0" }, { "Redirect": "TwoWay", "SourceUrl": "/dotnet/desktop/wpf/advanced/how-to-define-and-reference-a-resource?view=netframeworkdesktop-4.8", - "TargetUrl": "/dotnet/desktop/wpf/systems/xaml-resources-how-to-define-and-reference?view=netdesktop-5.0" + "TargetUrl": "/dotnet/desktop/wpf/systems/xaml-resources-how-to-define-and-reference?view=netdesktop-6.0" }, { "Redirect": "TwoWay", "SourceUrl": "/dotnet/desktop/wpf/advanced/how-to-use-application-resources?view=netframeworkdesktop-4.8", - "TargetUrl": "/dotnet/desktop/wpf/systems/xaml-resources-how-to-use-application?view=netdesktop-5.0" + "TargetUrl": "/dotnet/desktop/wpf/systems/xaml-resources-how-to-use-application?view=netdesktop-6.0" }, { "Redirect": "TwoWay", "SourceUrl": "/dotnet/desktop/wpf/advanced/how-to-use-systemfonts?view=netframeworkdesktop-4.8", - "TargetUrl": "/dotnet/desktop/wpf/systems/xaml-resources-how-to-use-system?view=netdesktop-5.0" + "TargetUrl": "/dotnet/desktop/wpf/systems/xaml-resources-how-to-use-system?view=netdesktop-6.0" }, { "Redirect": "OneWay", "SourceUrl": "/dotnet/desktop/wpf/advanced/how-to-use-system-fonts-keys?view=netframeworkdesktop-4.8", - "TargetUrl": "/dotnet/desktop/wpf/systems/xaml-resources-how-to-use-system?view=netdesktop-5.0" + "TargetUrl": "/dotnet/desktop/wpf/systems/xaml-resources-how-to-use-system?view=netdesktop-6.0" }, { "Redirect": "OneWay", "SourceUrl": "/dotnet/desktop/wpf/advanced/how-to-use-systemparameters?view=netframeworkdesktop-4.8", - "TargetUrl": "/dotnet/desktop/wpf/systems/xaml-resources-how-to-use-system?view=netdesktop-5.0" + "TargetUrl": "/dotnet/desktop/wpf/systems/xaml-resources-how-to-use-system?view=netdesktop-6.0" }, { "Redirect": "OneWay", "SourceUrl": "/dotnet/desktop/wpf/advanced/how-to-use-system-parameters-keys?view=netframeworkdesktop-4.8", - "TargetUrl": "/dotnet/desktop/wpf/systems/xaml-resources-how-to-use-system?view=netdesktop-5.0" + "TargetUrl": "/dotnet/desktop/wpf/systems/xaml-resources-how-to-use-system?view=netdesktop-6.0" }, // XAML { "Redirect": "TwoWay", "SourceUrl": "/dotnet/desktop/wpf/advanced/xaml-in-wpf?view=netframeworkdesktop-4.8", - "TargetUrl": "/dotnet/desktop/wpf/xaml/index?view=netdesktop-5.0" + "TargetUrl": "/dotnet/desktop/wpf/xaml/index?view=netdesktop-6.0" }, // section? //{ // "Redirect": "TwoWay", // "SourceUrl": "/dotnet/desktop/wpf/aaaaaa?view=netframeworkdesktop-4.8", - // "TargetUrl": "/dotnet/desktop/wpf/aaaaaa?view=netdesktop-5.0" + // "TargetUrl": "/dotnet/desktop/wpf/aaaaaa?view=netdesktop-6.0" //}, // ======== @@ -431,33 +440,33 @@ // ======== { "Redirect": "OneWay", - "SourceUrl": "/dotnet/desktop/wpf/fundamentals/xaml?view=netdesktop-5.0", - "TargetUrl": "/dotnet/desktop/wpf/xaml/index?view=netdesktop-5.0" + "SourceUrl": "/dotnet/desktop/wpf/fundamentals/xaml?view=netdesktop-6.0", + "TargetUrl": "/dotnet/desktop/wpf/xaml/index?view=netdesktop-6.0" }, { "Redirect": "OneWay", - "SourceUrl": "/dotnet/desktop/wpf/fundamentals/xaml-resources-define?view=netdesktop-5.0", - "TargetUrl": "/dotnet/desktop/wpf/systems/xaml-resources-overview?view=netdesktop-5.0" + "SourceUrl": "/dotnet/desktop/wpf/fundamentals/xaml-resources-define?view=netdesktop-6.0", + "TargetUrl": "/dotnet/desktop/wpf/systems/xaml-resources-overview?view=netdesktop-6.0" }, { "Redirect": "OneWay", - "SourceUrl": "/dotnet/desktop/wpf/fundamentals/styles-templates-overview?view=netdesktop-5.0", - "TargetUrl": "/dotnet/desktop/wpf/controls/styles-templates-overview?view=netdesktop-5.0" + "SourceUrl": "/dotnet/desktop/wpf/fundamentals/styles-templates-overview?view=netdesktop-6.0", + "TargetUrl": "/dotnet/desktop/wpf/controls/styles-templates-overview?view=netdesktop-6.0" }, { "Redirect": "OneWay", - "SourceUrl": "/dotnet/desktop/wpf/fundamentals/styles-templates-create-apply-style?view=netdesktop-5.0", - "TargetUrl": "/dotnet/desktop/wpf/controls/how-to-create-apply-style?view=netdesktop-5.0" + "SourceUrl": "/dotnet/desktop/wpf/fundamentals/styles-templates-create-apply-style?view=netdesktop-6.0", + "TargetUrl": "/dotnet/desktop/wpf/controls/how-to-create-apply-style?view=netdesktop-6.0" }, { "Redirect": "OneWay", - "SourceUrl": "/dotnet/desktop/wpf/themes/how-to-create-apply-template?view=netdesktop-5.0", - "TargetUrl": "/dotnet/desktop/wpf/controls/how-to-create-apply-template?view=netdesktop-5.0" + "SourceUrl": "/dotnet/desktop/wpf/themes/how-to-create-apply-template?view=netdesktop-6.0", + "TargetUrl": "/dotnet/desktop/wpf/controls/how-to-create-apply-template?view=netdesktop-6.0" }, { "Redirect": "NormalDocId", - "SourceUrl": "/dotnet/desktop/wpf/data/data-binding-overview?view=netdesktop-5.0", - "TargetUrl": "/dotnet/desktop/wpf/data/index?view=netdesktop-5.0" + "SourceUrl": "/dotnet/desktop/wpf/data/data-binding-overview?view=netdesktop-6.0", + "TargetUrl": "/dotnet/desktop/wpf/data/index?view=netdesktop-6.0" }, // ======== @@ -465,8 +474,8 @@ // ======== { "Redirect": "Normal", - "SourceUrl": "/dotnet/desktop/wpf/migration/index?view=netdesktop-5.0", - "TargetUrl": "/dotnet/desktop/wpf/migration/differences-from-net-framework?view=netdesktop-5.0" + "SourceUrl": "/dotnet/desktop/wpf/migration/index?view=netdesktop-6.0", + "TargetUrl": "/dotnet/desktop/wpf/migration/differences-from-net-framework?view=netdesktop-6.0" } ]