<?xml version="1.0" encoding="utf-8" ?>
<!--
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.
-->

<!-- 
  This file *must* be named App.config, and not App1.config etc. 
-->
<!-- 
This is the list of application compatibility switches in WPF that are set via App.Config. 
The values shown below are the defaults for the respective switch. 
-->
<configuration>
  <appSettings>
    <!-- Defined in System.Windows.CoreCompatibilityPreferences -->
    
    <!--https://docs.microsoft.com/en-us/dotnet/api/system.windows.corecompatibilitypreferences.isaltkeyrequiredinaccesskeydefaultscope?view=netcore-3.0-->
    <!--<add key="IsAltKeyRequiredInAccessKeyDefaultScope" value="false"/>-->
    
    <!--https://docs.microsoft.com/en-us/dotnet/api/system.windows.corecompatibilitypreferences.enablemultimonitordisplayclipping?view=netcore-3.0#System_Windows_CoreCompatibilityPreferences_EnableMultiMonitorDisplayClipping-->
    <!--<add key="EnableMultiMonitorDisplayClipping" value="null"/>-->
    
    <!--GlyphRun.ComputeInkBoundingBox is supposed to return a box that contains
    all the ink in the GlyphRun, but in some circumstances it computes a
    box that is too small.  This was "fixed" in 4.5 by inflating the box
    slightly.  Apps that depend on the old non-inflated result can opt out
    of the fix by setting this to 'false'-->
    <!--<add key="IncludeAllInkInBoundingBox" value="true"/>-->
    
    
    
    <!-- Defined in System.Windows.BaseCompatibilityPreferences -->

    <!--https://docs.microsoft.com/en-us/dotnet/api/system.windows.basecompatibilitypreferences.reusedispatchersynchronizationcontextinstance?view=netframework-4.8#System_Windows_BaseCompatibilityPreferences_ReuseDispatcherSynchronizationContextInstance-->
    <!--<add key="ReuseDispatcherSynchronizationContextInstance" value="false"/>-->
    
    <!--https://docs.microsoft.com/en-us/dotnet/api/system.windows.basecompatibilitypreferences.flowdispatchersynchronizationcontextpriority?view=netframework-4.8#System_Windows_BaseCompatibilityPreferences_FlowDispatcherSynchronizationContextPriority-->
    <!--<add key="FlowDispatcherSynchronizationContextPriority" value="true"/>-->
    
    <!--https://docs.microsoft.com/en-us/dotnet/api/system.windows.basecompatibilitypreferences.inlinedispatchersynchronizationcontextsend?view=netframework-4.8#System_Windows_BaseCompatibilityPreferences_InlineDispatcherSynchronizationContextSend-->
    <!--<add key="InlineDispatcherSynchronizationContextSend" value="true"/>-->
    
    <!--https://docs.microsoft.com/en-us/dotnet/api/system.windows.basecompatibilitypreferences.handledispatcherrequestprocessingfailure?view=netframework-4.8#System_Windows_BaseCompatibilityPreferences_HandleDispatcherRequestProcessingFailure-->
    <!--<add key="HandleDispatcherRequestProcessingFailure" value="Continue"/>-->
    
    <!--Instructs WPF to not attempt to set an equivalent XML package signature method for a given digest hash algorithm.
    This affects the signing and digest methods used in the packaging APIs.  With this set to false, signature methods
    will always be SHA1.-->
    <!--<add key="MatchPackageSignatureMethodToPackagePartDigestMethod" value="true"/>-->

    
    <!-- Defined in System.Windows.FrameworkCompatibilityPreferenes -->
     
    <!--https://docs.microsoft.com/en-us/dotnet/api/system.windows.frameworkcompatibilitypreferences.areinactiveselectionhighlightbrushkeyssupported?view=netframework-4.8#System_Windows_FrameworkCompatibilityPreferences_AreInactiveSelectionHighlightBrushKeysSupported-->
    <!--<add key="AreInactiveSelectionHighlightBrushKeysSupported" value="true"/>-->
    
    <!--https://docs.microsoft.com/en-us/dotnet/api/system.windows.frameworkcompatibilitypreferences.keeptextboxdisplaysynchronizedwithtextproperty?view=netframework-4.8#System_Windows_FrameworkCompatibilityPreferences_KeepTextBoxDisplaySynchronizedWithTextProperty-->
    <!--<add key="KeepTextBoxDisplaySynchronizedWithTextProperty" value="true"/>-->
    
    <!--https://docs.microsoft.com/en-us/dotnet/api/system.windows.frameworkcompatibilitypreferences.shouldthrowoncopyorcutfailure?view=netframework-4.8#System_Windows_FrameworkCompatibilityPreferences_ShouldThrowOnCopyOrCutFailure-->
    <!--<add key="ShouldThrowOnCopyOrCutFailure" value="false"/>-->
    
    <!--There is a bug in the Windows desktop window manager which can cause
    incorrect z-order for windows when several conditions are all met:
    (a) windows are parented/owned across different threads or processes
    (b) a parent/owner window is also owner of a topmost window (which needn't be visible)
    (c) the child window on a different thread/process tries to show an owned topmost window
        (like a popup or tooltip) using ShowWindow().
    To avoid this window manager bug, this option causes SetWindowPos() to be used instead of
    ShowWindow() for topmost windows, avoiding condition (c).  Ideally the window manager bug
    will be fixed, but the risk of making a change there is considered too great at this time.-->
    <!--<add key="UseSetWindowPosForTopmostWindows" value="false"/>-->
    
    <!--VirtualizingStackPanel added support for virtualization-when-grouping in .NET 4.5,
    generalizing and subsuming the support for virtualizing a TreeView that existed in .NET 4.0.
    The 4.5 algorithm had many flaws, leading to infinite loops, scrolling
    to the wrong place, and other bad symptoms.  DDCC is worried that fixing
    these issues may introduce new compat problems, and asked for a way to opt out
    of the fixes.  To opt out, set this flag to 'true' in App.Config-->
    <!--<add key="VSP45Compat" value="false"/>-->
    
  </appSettings>
</configuration>