diff --git a/src/Directory.Build.props b/src/Directory.Build.props
index 738b07992..738176b87 100644
--- a/src/Directory.Build.props
+++ b/src/Directory.Build.props
@@ -52,6 +52,7 @@
7.1.2
8.0.0
5.0.0
+ 1.0.2792.45
4.5.1
8.0.0
8.0.0
diff --git a/src/PerfView/App.cs b/src/PerfView/App.cs
index 204753146..75c01b930 100755
--- a/src/PerfView/App.cs
+++ b/src/PerfView/App.cs
@@ -41,6 +41,7 @@ public class App
public static int Main(string[] args)
{
CommandProcessor = new CommandProcessor();
+ App.SetAccessibilitySwitchOverrides();
StreamWriter writerToCleanup = null; // If we create a log file, we need to clean it up.
int retCode = -1;
@@ -1079,6 +1080,20 @@ private static bool UserOKWithSymbolServerGui()
private static string m_SymbolPath;
private static string m_SourcePath;
+ ///
+ /// This enables using new accessibility features that were implemented on .NET Framework 4.7.1 or later
+ /// despite the application targeting an earlier framework version. This resolves a few accessibility issues
+ /// that were fixed in later versions of .NET Framework. For more information, see below:
+ /// https://learn.microsoft.com/en-us/dotnet/framework/whats-new/whats-new-in-accessibility#accessibility-switches
+ ///
+ private static void SetAccessibilitySwitchOverrides()
+ {
+ AppContext.SetSwitch("Switch.UseLegacyAccessibilityFeatures", false);
+ AppContext.SetSwitch("Switch.UseLegacyAccessibilityFeatures.2", false);
+ AppContext.SetSwitch("Switch.UseLegacyAccessibilityFeatures.3", false);
+ AppContext.SetSwitch("Switch.UseLegacyAccessibilityFeatures.4", false);
+ }
+
#region CreateConsole
[System.Runtime.InteropServices.DllImport("kernel32", SetLastError = true)]
private extern static int AllocConsole();
diff --git a/src/PerfView/Dialogs/FileInputAndOutput.xaml b/src/PerfView/Dialogs/FileInputAndOutput.xaml
index fbc11eb97..397ca59c4 100644
--- a/src/PerfView/Dialogs/FileInputAndOutput.xaml
+++ b/src/PerfView/Dialogs/FileInputAndOutput.xaml
@@ -27,7 +27,7 @@
Help
-
+
@@ -43,15 +43,16 @@
-
+
+ ToolTip="This shows all the files/directories that match the prefix in the InputFile text box."
+ AutomationProperties.Name="Files"/>
-
+
diff --git a/src/PerfView/Dialogs/MemoryDataDialog.xaml b/src/PerfView/Dialogs/MemoryDataDialog.xaml
index c99037d68..ad5132dcf 100644
--- a/src/PerfView/Dialogs/MemoryDataDialog.xaml
+++ b/src/PerfView/Dialogs/MemoryDataDialog.xaml
@@ -21,7 +21,7 @@
-
+
@@ -44,7 +44,7 @@
Process Dump File:
-
+
@@ -65,20 +65,24 @@
Filter:
-
+
All Procs:
-
+
Only Processes you have perission to inspect to are shown.
Elevate to Admin to see all processes.
-
-
+
+
+
+
@@ -93,7 +97,7 @@
Output Data File:
-
+
@@ -123,12 +127,12 @@
Max DumpK Objs:
-
+
Freeze:
-
+
-
+
@@ -45,14 +45,14 @@
Command:
-
+
Focus process:
-
+
@@ -60,14 +60,14 @@
Data File:
-
+
Current Dir:
-
+
@@ -92,29 +92,29 @@
Zip:
-
+
CircularMB:
-
+
Merge:
-
+
ThreadTime:
-
+
Mark Text:
-
+
@@ -167,43 +167,43 @@
ToolTip="Fire an event (and stack trace) every time the processor switch from one thread to another." >
Kernel Base:
-
+
Cpu Samples:
-
+
Page Faults:
-
+
File I/O:
-
+
Registry:
-
+
VirtAlloc:
-
+
MemInfo:
-
+
@@ -231,37 +231,37 @@
ToolTip="Collect information about creation and closing of Windows OS handles." >
Handle:
-
+
RefSet:
-
+
IIS:
-
+
NetMon:
-
+
Net Capture:
-
+
Tasks (TPL):
-
+
@@ -290,43 +290,43 @@
ToolTip="These are the default .NET runtime events. They should usually be left on." >
.NET :
-
+
.NET Stress:
-
+
Background JIT:
-
+
.NET Calls:
-
+
JIT Inlining:
-
+
.NET Native CCW:
-
+
.NET Loader:
-
+
@@ -354,37 +354,37 @@
ToolTip="Turn off everything except events which happen when .NET Garbage Collections happen." >
GC Collect Only:
-
+
GC Only:
-
+
.NET Alloc:
-
+
.NET SampAlloc:
-
+
ETW .NET Alloc:
-
+
Dump Heap:
-
+
@@ -402,7 +402,7 @@
ToolTip="A comma separated list of additional providers to turn on during data collection." >
Additional Providers:
-
+
.125MSec.">
CPU SampleInterval Msec
-
+
- CpuCtrs
+ CpuCtrs
-
+
A comma separated list of column #-# ranges to show in the 'data' field.
@@ -451,13 +451,13 @@
ToolTip="Collect OS (unmanaged) heap allocation stacks for processes running this EXE fileName.">
OS HeapExe
-
+
OS HeapProcess
-
+
@@ -474,17 +474,17 @@
.NET SymbolCollection
-
+
No V3.X NGENSymbols
-
+
SymbolTimeOut
-
+
@@ -499,12 +499,12 @@
Max CollectSec
-
+
StopTrigger
-
+
diff --git a/src/PerfView/Dialogs/RunCommandDialog.xaml.cs b/src/PerfView/Dialogs/RunCommandDialog.xaml.cs
index 79daf3fa9..5dc0095d9 100644
--- a/src/PerfView/Dialogs/RunCommandDialog.xaml.cs
+++ b/src/PerfView/Dialogs/RunCommandDialog.xaml.cs
@@ -310,6 +310,7 @@ public RunCommandDialog(CommandLineArgs args, MainWindow mainWindow, bool isColl
Title = "Collecting data over a user specified interval";
CommandToRunTextBox.IsEnabled = false;
CommandToRunTextBox.Visibility = Visibility.Hidden;
+ CommandToRunLabel.IsEnabled = false;
CommandToRunLabel.Visibility = Visibility.Hidden;
FocusProcessCheckBox.Visibility = Visibility.Visible;
FocusProcessTextBox.Visibility = Visibility.Visible;
@@ -345,6 +346,7 @@ public RunCommandDialog(CommandLineArgs args, MainWindow mainWindow, bool isColl
FocusProcessCheckBox.Visibility = Visibility.Hidden;
FocusProcessTextBox.Visibility = Visibility.Hidden;
FocusProcessLabel.Visibility = Visibility.Hidden;
+ FocusProcessLabel.IsEnabled = false;
CommandToRunTextBox.Focus();
}
diff --git a/src/PerfView/Dialogs/SymbolPathDialog.xaml b/src/PerfView/Dialogs/SymbolPathDialog.xaml
index 57d856871..0f6d9080e 100644
--- a/src/PerfView/Dialogs/SymbolPathDialog.xaml
+++ b/src/PerfView/Dialogs/SymbolPathDialog.xaml
@@ -18,11 +18,11 @@
-
+
-
-
+
+
diff --git a/src/PerfView/Dialogs/UserCommandDialog.xaml b/src/PerfView/Dialogs/UserCommandDialog.xaml
index e24eae24c..88119dc7e 100644
--- a/src/PerfView/Dialogs/UserCommandDialog.xaml
+++ b/src/PerfView/Dialogs/UserCommandDialog.xaml
@@ -18,16 +18,17 @@
-
+
+ ToolTip="Enter user-defined command. Tab will commit completion." AutomationProperties.HelpText="{Binding Path=ToolTip, RelativeSource={RelativeSource Self}}" Enter="OKClicked"
+ AutomationProperties.Name="Command"/>
-
-
-
+
+
+
diff --git a/src/PerfView/EventViewer/EventWindow.xaml b/src/PerfView/EventViewer/EventWindow.xaml
index 411042497..bd6ebb23a 100644
--- a/src/PerfView/EventViewer/EventWindow.xaml
+++ b/src/PerfView/EventViewer/EventWindow.xaml
@@ -76,7 +76,7 @@
-