From fac3f289f361f7250a2a80608bc832bac78571a8 Mon Sep 17 00:00:00 2001 From: Vatsan Madhavan Date: Thu, 30 May 2019 11:26:01 -0700 Subject: [PATCH 1/4] Add AppCompat-Quirks project --- Compatibility/App.config | 93 +++ Compatibility/App.xaml | 14 + Compatibility/App.xaml.cs | 21 + Compatibility/AppCompat-Quirks.netcore.csproj | 9 + Compatibility/AppContextInformation.cs | 14 + Compatibility/MainWindow.xaml | 29 + Compatibility/MainWindow.xaml.cs | 301 +++++++ Compatibility/README.md | 29 + Compatibility/app1.manifest | 75 ++ Compatibility/images/screenshot.png | Bin 0 -> 125991 bytes Compatibility/runtimeconfig.template.json | 170 ++++ WPFSamples.netcore.sln | 783 ++++++------------ 12 files changed, 989 insertions(+), 549 deletions(-) create mode 100644 Compatibility/App.config create mode 100644 Compatibility/App.xaml create mode 100644 Compatibility/App.xaml.cs create mode 100644 Compatibility/AppCompat-Quirks.netcore.csproj create mode 100644 Compatibility/AppContextInformation.cs create mode 100644 Compatibility/MainWindow.xaml create mode 100644 Compatibility/MainWindow.xaml.cs create mode 100644 Compatibility/README.md create mode 100644 Compatibility/app1.manifest create mode 100644 Compatibility/images/screenshot.png create mode 100644 Compatibility/runtimeconfig.template.json diff --git a/Compatibility/App.config b/Compatibility/App.config new file mode 100644 index 000000000..2370527cb --- /dev/null +++ b/Compatibility/App.config @@ -0,0 +1,93 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Compatibility/App.xaml b/Compatibility/App.xaml new file mode 100644 index 000000000..bba22ed43 --- /dev/null +++ b/Compatibility/App.xaml @@ -0,0 +1,14 @@ + + + + + + diff --git a/Compatibility/App.xaml.cs b/Compatibility/App.xaml.cs new file mode 100644 index 000000000..728204c19 --- /dev/null +++ b/Compatibility/App.xaml.cs @@ -0,0 +1,21 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Collections.Generic; +using System.Configuration; +using System.Data; +using System.Linq; +using System.Threading.Tasks; +using System.Windows; + +namespace Wpf_AppCompat_Quirks +{ + /// + /// Interaction logic for App.xaml + /// + public partial class App : Application + { + } +} diff --git a/Compatibility/AppCompat-Quirks.netcore.csproj b/Compatibility/AppCompat-Quirks.netcore.csproj new file mode 100644 index 000000000..2cc3c67ed --- /dev/null +++ b/Compatibility/AppCompat-Quirks.netcore.csproj @@ -0,0 +1,9 @@ + + + WinExe + AppCompat_Quirks + true + app1.manifest + + + \ No newline at end of file diff --git a/Compatibility/AppContextInformation.cs b/Compatibility/AppContextInformation.cs new file mode 100644 index 000000000..8d66be856 --- /dev/null +++ b/Compatibility/AppContextInformation.cs @@ -0,0 +1,14 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +namespace Wpf_AppCompat_Quirks +{ + public class CompatSwitchInformation + { + public string Class { get; set; } + public string SwitchName { get; set; } + public string DefaultValue { get; set; } + public string SettingsSource { get; set; } + } +} diff --git a/Compatibility/MainWindow.xaml b/Compatibility/MainWindow.xaml new file mode 100644 index 000000000..584dc7be8 --- /dev/null +++ b/Compatibility/MainWindow.xaml @@ -0,0 +1,29 @@ + + + + + + + + + + + diff --git a/Compatibility/MainWindow.xaml.cs b/Compatibility/MainWindow.xaml.cs new file mode 100644 index 000000000..6797617b7 --- /dev/null +++ b/Compatibility/MainWindow.xaml.cs @@ -0,0 +1,301 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.ComponentModel; +using System.Diagnostics; +using System.Linq; +using System.Reflection; +using System.Windows; + + +// runtimeconfig.template.json replaces App.Config based AppContext configuration +// App.config is still used for WPF's old style configuration switches (BaseCompatibilityPreferences class, for e.g.) + +namespace Wpf_AppCompat_Quirks +{ + /// + /// Interaction logic for MainWindow.xaml + /// + public partial class MainWindow : Window, INotifyPropertyChanged + { + + public MainWindow() + { + InitializeComponent(); + DataContext = this; + } + + + public event PropertyChangedEventHandler PropertyChanged; + + public static Type GetAppContextSwitchType(string className) + { + Type tSwitch = null; + switch (className) + { + case "BaseAppContextSwitches": + tSwitch = Assembly.Load("WindowsBase").GetType($"MS.Internal.BaseAppContextSwitches"); + break; + case "AccessibilitySwitches": + tSwitch = Assembly.Load("WindowsBase").GetType($"System.Windows.AccessibilitySwitches"); + break; + case "CoreAppContextSwitches": + tSwitch = Assembly.Load("PresentationCore").GetType("MS.Internal.CoreAppContextSwitches"); + break; + case "FrameworkAppContextSwitches": + tSwitch = Assembly.Load("PresentationFramework").GetType("MS.Internal.FrameworkAppContextSwitches"); + break; + case "BuildTasksAppContextSwitches": + tSwitch = Assembly.Load("PresentationBuildTasks").GetType("MS.Internal.BuildTasksAppContextSwitches"); + break; + } + + return tSwitch; + } + + private Type GetCompatPreferenceType(string compatPreferenceClass) + { + Type tCompatPref = null; + switch (compatPreferenceClass) + { + case "BaseCompatibilityPreferences": + tCompatPref = Assembly.Load("WindowsBase").GetType($"System.Windows.BaseCompatibilityPreferences"); + break; + case "CoreCompatibilityPreferences": + tCompatPref = Assembly.Load("PresentationCore").GetType($"System.Windows.CoreCompatibilityPreferences"); + break; + case "FrameworkCompatibilityPreferences": + tCompatPref = Assembly.Load("PresentationFramework").GetType($"System.Windows.FrameworkCompatibilityPreferences"); + break; + + } + return tCompatPref; + } + + public static bool TryGetAppContextSwitchValue(string className, string switchName, out bool switchValue) + { + switchValue = false; + + Type tSwitch = GetAppContextSwitchType(className); + + if (tSwitch == null) + { + return false; + } + + var pProperty = tSwitch.GetProperty(switchName, BindingFlags.Static | BindingFlags.Public); + if (pProperty != null) + { + try + { + switchValue = (bool)pProperty.GetValue(null); + return true; + } + catch { } + } + + return false; + } + + private bool TryGetCompatibilityPreferenceSwitchValue(string compatPreferenceClass, string switchName, out bool switchValue) + { + switchValue = false; + Type tSwitch = GetCompatPreferenceType(compatPreferenceClass); + if (tSwitch == null) + { + return false; + } + + var pProperty = tSwitch.GetProperty(switchName, BindingFlags.Static | BindingFlags.Public); + if (pProperty == null) + { + pProperty = tSwitch.GetProperty(switchName, BindingFlags.Static | BindingFlags.NonPublic); + } + + if (pProperty != null) + { + try + { + switchValue = (bool)pProperty.GetValue(null); + return true; + } + catch + { + } + } + + return false; + } + + private bool TryGetCompatibilityPreferenceSwitchValue(string compatPreferenceClass, string switchName, out string switchString) + { + switchString = null; + Type tSwitch = GetCompatPreferenceType(compatPreferenceClass); + if (tSwitch == null) + { + return false; + } + + var pProperty = tSwitch.GetProperty(switchName, BindingFlags.Static | BindingFlags.Public); + if (pProperty == null) + { + pProperty = tSwitch.GetProperty(switchName, BindingFlags.Static | BindingFlags.NonPublic); + } + + if (pProperty != null) + { + try + { + object o = pProperty.GetValue(null); + if (pProperty.PropertyType == typeof(bool?)) + { + bool? b = (bool?)o; + if (!b.HasValue) + { + switchString = "(bool?)null"; + } + else + { + switchString = $"(bool?){b.Value.ToString()}"; + } + return true; + } + + switchString = o.ToString(); + return true; + } + catch + { + } + } + + return false; + } + + private void Window_Loaded(object sender, RoutedEventArgs e) + { + PopulateAppContextInformation(); + } + + private void PopulateAppContextInformation() + { + string[] appContextClasses = + { + "BaseAppContextSwitches", + "CoreAppContextSwitches", + "FrameworkAppContextSwitches", + "AccessibilitySwitches", + //"BuildTasksAppContextSwitches" + }; + + foreach (var appContextClass in appContextClasses) + { + var tSwitch = GetAppContextSwitchType(appContextClass); + var properties = tSwitch.GetProperties(); + foreach (var property in properties) + { + if (TryGetAppContextSwitchValue(appContextClass, property.Name, out bool switchValue)) + { + AppContextSwitches.Add( + new CompatSwitchInformation() + { + Class = appContextClass, + SwitchName = property.Name, + DefaultValue = switchValue.ToString(), + SettingsSource = "runtimeconfig.template.json" + }); + } + else + { + Debug.WriteLine(property.Name); + } + } + } + + string[] compatibilityPreferenceClasses = + { + "CoreCompatibilityPreferences", + "BaseCompatibilityPreferences", + "FrameworkCompatibilityPreferences" + }; + + foreach (var compatPreferenceClass in compatibilityPreferenceClasses) + { + var tPref = GetCompatPreferenceType(compatPreferenceClass); + var properties = tPref.GetProperties().ToList().Union(tPref.GetProperties(BindingFlags.Static | BindingFlags.NonPublic)).ToList() ; + + foreach (var property in properties) + { + if (TryGetCompatibilityPreferenceSwitchValue(compatPreferenceClass, property.Name, out bool switchValue)) + { + CompatibilityPreferences.Add(new CompatSwitchInformation() + { + Class = compatPreferenceClass, + SwitchName = property.Name, + DefaultValue = switchValue.ToString(), + SettingsSource = "App.config" + }); + } + else if (TryGetCompatibilityPreferenceSwitchValue(compatPreferenceClass, property.Name, out string switchString)) + { + CompatibilityPreferences.Add(new CompatSwitchInformation() + { + Class = compatPreferenceClass, + SwitchName = property.Name, + DefaultValue = switchString, + SettingsSource = "App.config" + }); + } + else + { + Debug.WriteLine(property.Name); + } + } + } + } + + + + private ObservableCollection _appContextSwitches; + public ObservableCollection AppContextSwitches + { + get + { + if (_appContextSwitches == null) + { + AppContextSwitches = new ObservableCollection(); + } + return _appContextSwitches; + } + + set + { + _appContextSwitches = value; + PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(AppContextSwitches))); + } + } + + private ObservableCollection _compatibilityPreferences; + public ObservableCollection CompatibilityPreferences + { + get + { + if (_compatibilityPreferences == null) + { + CompatibilityPreferences = new ObservableCollection(); + } + return _compatibilityPreferences; + } + + set + { + _compatibilityPreferences = value; + PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(CompatibilityPreferences))); + } + } + } +} diff --git a/Compatibility/README.md b/Compatibility/README.md new file mode 100644 index 000000000..f530fa6e7 --- /dev/null +++ b/Compatibility/README.md @@ -0,0 +1,29 @@ +## .NET Core 3.0 - Applicaiton Compatibility Quirks HOWTO + +This sample shows how Application Compatibility quirks are enabled in a WPF application. + +There are two quriking infrastructures used in WPF + +- AppContext +- CompatibilityPreferencs + +### AppContext + +`AppContext` based quirks are set in `runtimeconfig.template.json`. Alternatively, they can also be enabled in code. the documentation about [`System.AppContext`](https://docs.microsoft.com/en-us/dotnet/api/system.appcontext?view=netcore-3.0) provides a detailed overview of programmatic access to these quirking flags. + +These flags are no longer set in `App.Config` as was the practice in .NET Framework applications - instead, they should be set in `runtimeconfig.template.json`. This project shows an example [`runtimeconfig.template.json`](runtimeconfig.template.json) containing all available `AppContext` based quirks. The default values for each flag, and related documentation is also provided in this file. + +### `CompatibilityPreferences` + + +WPF also uses an `App.config` based quirking system that are implemented by the following types: + +- `System.Windows.CoreCompatibilityPreferences` +- `System.Windows.BaseCompatibilityPreferences` +- `System.Windows.FrameworkComatibilityPreferences` + +A sample [`App.Config`](App.config) is also provided, which lists all supported flags along with their respective default values and documentation. + +Running this app will list all the supported flags, and show the respective *default* flag-values. + +![](images/screenshot.png) \ No newline at end of file diff --git a/Compatibility/app1.manifest b/Compatibility/app1.manifest new file mode 100644 index 000000000..5a5199025 --- /dev/null +++ b/Compatibility/app1.manifest @@ -0,0 +1,75 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + PerMonitor,PerMonitorV2 + + + + + + + diff --git a/Compatibility/images/screenshot.png b/Compatibility/images/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..29b941ada3491f0b517e6d8a5ef4f796a09aa8ff GIT binary patch literal 125991 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%0Ap93n$y)=JdV}zGPgcyAMX;x>W%c#KbLs0 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 Date: Sat, 15 Jun 2019 11:59:39 -0700 Subject: [PATCH 2/4] Add TFM to AppCompat-Quirks proj --- Compatibility/AppCompat-Quirks.netcore.csproj | 1 + 1 file changed, 1 insertion(+) diff --git a/Compatibility/AppCompat-Quirks.netcore.csproj b/Compatibility/AppCompat-Quirks.netcore.csproj index 2cc3c67ed..7e6548d25 100644 --- a/Compatibility/AppCompat-Quirks.netcore.csproj +++ b/Compatibility/AppCompat-Quirks.netcore.csproj @@ -1,5 +1,6 @@  + netcoreapp3.0 WinExe AppCompat_Quirks true From 006f25cb9a4b074eb8606c8c67ba1ed140fa9a9d Mon Sep 17 00:00:00 2001 From: Vatsan Madhavan Date: Sat, 15 Jun 2019 12:02:33 -0700 Subject: [PATCH 3/4] Rename app manifest --- Compatibility/AppCompat-Quirks.netcore.csproj | 2 +- Compatibility/{app1.manifest => app.manifest} | 0 WPFSamples.netcore.sln | 18 +++++++++--------- 3 files changed, 10 insertions(+), 10 deletions(-) rename Compatibility/{app1.manifest => app.manifest} (100%) diff --git a/Compatibility/AppCompat-Quirks.netcore.csproj b/Compatibility/AppCompat-Quirks.netcore.csproj index 7e6548d25..e34273dd3 100644 --- a/Compatibility/AppCompat-Quirks.netcore.csproj +++ b/Compatibility/AppCompat-Quirks.netcore.csproj @@ -4,7 +4,7 @@ WinExe AppCompat_Quirks true - app1.manifest + app.manifest \ No newline at end of file diff --git a/Compatibility/app1.manifest b/Compatibility/app.manifest similarity index 100% rename from Compatibility/app1.manifest rename to Compatibility/app.manifest diff --git a/WPFSamples.netcore.sln b/WPFSamples.netcore.sln index 962f626c8..7bd901de4 100644 --- a/WPFSamples.netcore.sln +++ b/WPFSamples.netcore.sln @@ -527,7 +527,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FormattedTextExample.netcor EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Compatibility", "Compatibility", "{0920F19C-8764-4631-9BFB-EBE611B99FC7}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AppCompat-Quirks", "Compatibility\AppCompat-Quirks.netcore.csproj", "{6C033AE8-7897-4466-A0F0-49B3B2B79CAA}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AppCompat-Quirks.netcore", "Compatibility\AppCompat-Quirks.netcore.csproj", "{6C033AE8-7897-4466-A0F0-49B3B2B79CAA}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -4714,20 +4714,20 @@ Global {6C033AE8-7897-4466-A0F0-49B3B2B79CAA}.Debug|Any CPU.Build.0 = Debug|Any CPU {6C033AE8-7897-4466-A0F0-49B3B2B79CAA}.Debug|ARM.ActiveCfg = Debug|Any CPU {6C033AE8-7897-4466-A0F0-49B3B2B79CAA}.Debug|ARM.Build.0 = Debug|Any CPU - {6C033AE8-7897-4466-A0F0-49B3B2B79CAA}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 - {6C033AE8-7897-4466-A0F0-49B3B2B79CAA}.Debug|Mixed Platforms.Build.0 = Debug|x86 - {6C033AE8-7897-4466-A0F0-49B3B2B79CAA}.Debug|Win32.ActiveCfg = Debug|x86 - {6C033AE8-7897-4466-A0F0-49B3B2B79CAA}.Debug|Win32.Build.0 = Debug|x86 + {6C033AE8-7897-4466-A0F0-49B3B2B79CAA}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {6C033AE8-7897-4466-A0F0-49B3B2B79CAA}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {6C033AE8-7897-4466-A0F0-49B3B2B79CAA}.Debug|Win32.ActiveCfg = Debug|Any CPU + {6C033AE8-7897-4466-A0F0-49B3B2B79CAA}.Debug|Win32.Build.0 = Debug|Any CPU {6C033AE8-7897-4466-A0F0-49B3B2B79CAA}.Debug|x64.ActiveCfg = Debug|Any CPU {6C033AE8-7897-4466-A0F0-49B3B2B79CAA}.Debug|x64.Build.0 = Debug|Any CPU {6C033AE8-7897-4466-A0F0-49B3B2B79CAA}.Release|Any CPU.ActiveCfg = Release|Any CPU {6C033AE8-7897-4466-A0F0-49B3B2B79CAA}.Release|Any CPU.Build.0 = Release|Any CPU {6C033AE8-7897-4466-A0F0-49B3B2B79CAA}.Release|ARM.ActiveCfg = Release|Any CPU {6C033AE8-7897-4466-A0F0-49B3B2B79CAA}.Release|ARM.Build.0 = Release|Any CPU - {6C033AE8-7897-4466-A0F0-49B3B2B79CAA}.Release|Mixed Platforms.ActiveCfg = Release|x86 - {6C033AE8-7897-4466-A0F0-49B3B2B79CAA}.Release|Mixed Platforms.Build.0 = Release|x86 - {6C033AE8-7897-4466-A0F0-49B3B2B79CAA}.Release|Win32.ActiveCfg = Release|x86 - {6C033AE8-7897-4466-A0F0-49B3B2B79CAA}.Release|Win32.Build.0 = Release|x86 + {6C033AE8-7897-4466-A0F0-49B3B2B79CAA}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {6C033AE8-7897-4466-A0F0-49B3B2B79CAA}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {6C033AE8-7897-4466-A0F0-49B3B2B79CAA}.Release|Win32.ActiveCfg = Release|Any CPU + {6C033AE8-7897-4466-A0F0-49B3B2B79CAA}.Release|Win32.Build.0 = Release|Any CPU {6C033AE8-7897-4466-A0F0-49B3B2B79CAA}.Release|x64.ActiveCfg = Release|Any CPU {6C033AE8-7897-4466-A0F0-49B3B2B79CAA}.Release|x64.Build.0 = Release|Any CPU EndGlobalSection From 05627e55c6100fb51575d61f06a5c32a30709467 Mon Sep 17 00:00:00 2001 From: Vatsan Madhavan Date: Sat, 15 Jun 2019 15:19:45 -0700 Subject: [PATCH 4/4] Addressing feedback --- Compatibility/MainWindow.xaml | 6 ++---- Compatibility/MainWindow.xaml.cs | 5 ++--- Compatibility/README.md | 1 - Compatibility/runtimeconfig.template.json | 19 ++++++++++--------- 4 files changed, 14 insertions(+), 17 deletions(-) diff --git a/Compatibility/MainWindow.xaml b/Compatibility/MainWindow.xaml index 584dc7be8..f4f5951db 100644 --- a/Compatibility/MainWindow.xaml +++ b/Compatibility/MainWindow.xaml @@ -15,11 +15,9 @@ See the LICENSE file in the project root for more information. diff --git a/Compatibility/MainWindow.xaml.cs b/Compatibility/MainWindow.xaml.cs index 6797617b7..de75673ed 100644 --- a/Compatibility/MainWindow.xaml.cs +++ b/Compatibility/MainWindow.xaml.cs @@ -22,7 +22,6 @@ namespace Wpf_AppCompat_Quirks /// public partial class MainWindow : Window, INotifyPropertyChanged { - public MainWindow() { InitializeComponent(); @@ -184,7 +183,7 @@ private void Window_Loaded(object sender, RoutedEventArgs e) private void PopulateAppContextInformation() { string[] appContextClasses = - { + { "BaseAppContextSwitches", "CoreAppContextSwitches", "FrameworkAppContextSwitches", @@ -226,7 +225,7 @@ private void PopulateAppContextInformation() foreach (var compatPreferenceClass in compatibilityPreferenceClasses) { var tPref = GetCompatPreferenceType(compatPreferenceClass); - var properties = tPref.GetProperties().ToList().Union(tPref.GetProperties(BindingFlags.Static | BindingFlags.NonPublic)).ToList() ; + var properties = tPref.GetProperties().Union(tPref.GetProperties(BindingFlags.Static | BindingFlags.NonPublic)).ToList() ; foreach (var property in properties) { diff --git a/Compatibility/README.md b/Compatibility/README.md index f530fa6e7..eb5e118f1 100644 --- a/Compatibility/README.md +++ b/Compatibility/README.md @@ -15,7 +15,6 @@ These flags are no longer set in `App.Config` as was the practice in .NET Framew ### `CompatibilityPreferences` - WPF also uses an `App.config` based quirking system that are implemented by the following types: - `System.Windows.CoreCompatibilityPreferences` diff --git a/Compatibility/runtimeconfig.template.json b/Compatibility/runtimeconfig.template.json index a3200a38a..4ad710923 100644 --- a/Compatibility/runtimeconfig.template.json +++ b/Compatibility/runtimeconfig.template.json @@ -34,10 +34,12 @@ // - High-DPI related accessibility fixes. "Switch.System.Windows.DoNotUsePresentationDpiCapabilityTier2OrGreater": false, - // Switch to enable WPF support for the WM_POINTER based stylus/touch stack + // This turns off the entirety of the WPF touch support, leaving WM_POINTER + // messages to be processed by DefWndProc(), or be handled by the application directly. "Switch.System.Windows.Input.Stylus.DisableStylusAndTouchSupport": false, // https://docs.microsoft.com/en-us/dotnet/framework/migration-guide/mitigation-pointer-based-touch-and-stylus-support + // Switch to enable WPF support for the WM_POINTER based stylus/touch stack "Switch.System.Windows.Input.Stylus.EnablePointerSupport": false, // Switch to disable diagnostic features @@ -47,6 +49,8 @@ "Switch.System.Windows.Diagnostics.AllowChangesDuringVisualTreeChanged": false, // Switch to disable automatic touch keyboard invocation on focus of a control + // This flag only works on Windows 10 1607 (RS1; Anniversary Update), Windows 10 1703 (RS2; Creators Update), + // and Windows 10 1709 (RS3; Fall Creators Update) "Switch.System.Windows.Input.Stylus.DisableImplicitTouchKeyboardInvocation": false, // Desktop/Interactive Window Stations: @@ -94,6 +98,7 @@ // FrameworkAppContextSwitches // Switch to enable non-adorner based rendering of TextSelection in TextBox and PasswordBox + // https://github.com/microsoft/dotnet/blob/master/Documentation/compatibility/wpf-TextBox-PasswordBox-text-selection-does-not-follow-system-colors.md "Switch.System.Windows.Controls.Text.UseAdornerForTextboxSelectionRendering": true, // https://github.com/microsoft/dotnet/blob/master/Documentation/compatibility/wpf-layout-rounding-of-margins-has-changed.md @@ -138,7 +143,7 @@ //is in legacy scenarios prior to .NET 4.7.1. "Switch.MS.Internal.UseSha1AsDefaultHashAlgorithmForDigitalSignatures": false, - // Allowing developers to turn off the Invoke added by DDVSO:543980 as there are compat issues with + // Allowing developers to turn off the Invoke added by a previous code change, as there are compat issues with // timing during shutdown for some applications. "Switch.MS.Internal.DoNotInvokeInWeakEventTableShutdownListener": false, @@ -149,17 +154,13 @@ "Switch.MS.Internal.EnableWeakEventMemoryImprovements": false, // AccessibilitySwitches - + // https://docs.microsoft.com/en-us/dotnet/framework/whats-new/whats-new-in-accessibility // https://github.com/microsoft/dotnet/blob/master/Documentation/compatibility/wpf-accessibility-improvements.MD - "Switch.UseLegacyAccessibilityFeatures": false, - // https://github.com/microsoft/dotnet/blob/master/Documentation/compatibility/wpf-accessibility-improvements-48.md - "Switch.UseLegacyAccessibilityFeatures.2": false, - // https://github.com/microsoft/dotnet/blob/master/Documentation/compatibility/wpf-accessibility-improvements-48.md + "Switch.UseLegacyAccessibilityFeatures": false, + "Switch.UseLegacyAccessibilityFeatures.2": false, "Switch.UseLegacyAccessibilityFeatures.3": false, - - // https://github.com/microsoft/dotnet/blob/master/Documentation/compatibility/wpf-accessibility-improvements-48.md "Switch.UseLegacyToolTipDisplay": false, // Guards the fix for the automation tree under a plain ItemsControl