mirror of
https://github.com/Stone-Red-Code/docs-desktop.git
synced 2026-09-04 00:56:03 +02:00
@@ -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"
|
||||
],
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 32 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 228 KiB |
+5
-5
@@ -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
|
||||
|
||||
@@ -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
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<TargetFramework>net6.0-windows</TargetFramework>
|
||||
<Nullable>enable</Nullable>
|
||||
<UseWindowsForms>true</UseWindowsForms>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
|
||||
<ApplicationVisualStyles>true</ApplicationVisualStyles>
|
||||
<ApplicationUseCompatibleTextRendering>false</ApplicationUseCompatibleTextRendering>
|
||||
<ApplicationHighDpiMode>SystemAware</ApplicationHighDpiMode>
|
||||
<ApplicationDefaultFont>Microsoft Sans Serif, 8.25pt</ApplicationDefaultFont>
|
||||
|
||||
</PropertyGroup>
|
||||
|
||||
</Project>
|
||||
```
|
||||
|
||||
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 <xref:System.Windows.Forms.Control.Font> 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
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<!-- other settings -->
|
||||
|
||||
<PropertyGroup>
|
||||
<ApplicationDefaultFont>Microsoft Sans Serif, 8.25pt</ApplicationDefaultFont>
|
||||
</PropertyGroup>
|
||||
|
||||
</Project>
|
||||
```
|
||||
|
||||
\- or -
|
||||
|
||||
- Call the the <xref:System.Windows.Forms.Application.SetDefaultFont%2A?displayProperty=nameWithType> 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:
|
||||
|
||||
- <xref:System.ComponentModel.Design.ComponentDesigner?displayProperty=fullName>
|
||||
- System.Windows.Forms.Design.ButtonBaseDesigner
|
||||
- System.Windows.Forms.Design.ComboBoxDesigner
|
||||
- <xref:System.Windows.Forms.Design.ControlDesigner?displayProperty=fullName>
|
||||
- <xref:System.Windows.Forms.Design.DocumentDesigner?displayProperty=fullName>
|
||||
- <xref:System.Windows.Forms.Design.DocumentDesigner?displayProperty=fullName>
|
||||
- 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
|
||||
- <xref:System.Windows.Forms.Design.ParentControlDesigner?displayProperty=fullName>
|
||||
- <xref:System.Windows.Forms.Design.ParentControlDesigner?displayProperty=fullName>
|
||||
- System.Windows.Forms.Design.PictureBoxDesigner
|
||||
- System.Windows.Forms.Design.RadioButtonDesigner
|
||||
- System.Windows.Forms.Design.RichTextBoxDesigner
|
||||
- <xref:System.Windows.Forms.Design.ScrollableControlDesigner?displayProperty=fullName>
|
||||
- <xref:System.Windows.Forms.Design.ScrollableControlDesigner?displayProperty=fullName>
|
||||
- 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 <xref:System.Windows.Forms.HighDpiMode.PerMonitorV2> 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
|
||||
|
||||
- <xref:System.Windows.Forms.Application.SetDefaultFont%2A?displayProperty=fullName>
|
||||
- <xref:System.Windows.Forms.Control.IsAncestorSiteInDesignMode%2A?displayProperty=fullName>
|
||||
- <xref:System.Windows.Forms.ProfessionalColors.StatusStripBorder%2A?displayProperty=fullName>
|
||||
- <xref:System.Windows.Forms.ProfessionalColorTable.StatusStripBorder%2A?displayProperty=fullName>
|
||||
|
||||
### New Visual Basic APIs
|
||||
|
||||
- <xref:Microsoft.VisualBasic.ApplicationServices.ApplyApplicationDefaultsEventArgs?displayProperty=fullName>
|
||||
- <xref:Microsoft.VisualBasic.ApplicationServices.ApplyApplicationDefaultsEventHandler?displayProperty=fullName>
|
||||
- <xref:Microsoft.VisualBasic.ApplicationServices.ApplyApplicationDefaultsEventArgs.MinimumSplashScreenDisplayTime?displayProperty=fullName>
|
||||
- <xref:Microsoft.VisualBasic.ApplicationServices.ApplyApplicationDefaultsEventArgs.MinimumSplashScreenDisplayTime?displayProperty=fullName>
|
||||
- <xref:Microsoft.VisualBasic.ApplicationServices.ApplyApplicationDefaultsEventArgs.Font?displayProperty=fullName>
|
||||
- <xref:Microsoft.VisualBasic.ApplicationServices.ApplyApplicationDefaultsEventArgs.Font?displayProperty=fullName>
|
||||
- <xref:Microsoft.VisualBasic.ApplicationServices.ApplyApplicationDefaultsEventArgs.HighDpiMode?displayProperty=fullName>
|
||||
- <xref:Microsoft.VisualBasic.ApplicationServices.ApplyApplicationDefaultsEventArgs.HighDpiMode?displayProperty=fullName>
|
||||
- <xref:Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.ApplyApplicationDefaults?displayProperty=fullName>
|
||||
- <xref:Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.HighDpiMode?displayProperty=fullName>
|
||||
- <xref:Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.HighDpiMode?displayProperty=fullName>
|
||||
|
||||
## Updated APIs
|
||||
|
||||
- <xref:System.Windows.Forms.Control.Invoke%2A?displayProperty=fullName> now accepts <xref:System.Action?displayProperty=fullName> and <xref:System.Func%601?displayProperty=fullName> as input parameters.
|
||||
- <xref:System.Windows.Forms.Control.BeginInvoke%2A?displayProperty=fullName> now accepts <xref:System.Action?displayProperty=fullName> as an input parameter.
|
||||
- <xref:System.Windows.Forms.DialogResult?displayProperty=fullName> is extended with the following members:
|
||||
|
||||
- `TryAgain`
|
||||
- `Continue`
|
||||
|
||||
- <xref:System.Windows.Forms.Form?displayProperty=fullName> has a new property: <xref:System.Windows.Forms.Form.MdiChildrenMinimizedAnchorBottom>
|
||||
- <xref:System.Windows.Forms.MessageBoxButtons?displayProperty=fullName> is extended with the following member:
|
||||
|
||||
- `CancelTryContinue`
|
||||
|
||||
- <xref:System.Windows.Forms.MessageBoxDefaultButton?displayProperty=fullName> is extended with the following member:
|
||||
|
||||
- `Button4`
|
||||
|
||||
- <xref:System.Windows.Forms.LinkClickedEventArgs?displayProperty=fullName> has now a new constructor and extended with the following properties:
|
||||
|
||||
- <xref:System.Windows.Forms.LinkClickedEventArgs.LinkLength?displayProperty=fullName>
|
||||
- <xref:System.Windows.Forms.LinkClickedEventArgs.LinkStart?displayProperty=fullName>
|
||||
|
||||
- <xref:System.Windows.Forms.NotifyIcon.Text?displayProperty=fullName> 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)
|
||||
@@ -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"
|
||||
}
|
||||
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user