Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# WPF跟踪事件问题_C#_Wpf_Trace_Listeners - Fatal编程技术网

C# WPF跟踪事件问题

C# WPF跟踪事件问题,c#,wpf,trace,listeners,C#,Wpf,Trace,Listeners,我在跟踪事件时遇到一些问题。这是我的密码: PresentationTraceSources.Refresh(); Stream myFile = File.Create("trace.txt"); listener = new TextWriterTraceListener(myFile); PresentationTraceSources.RoutedEventSource.Listeners.Add(listener); PresentationTraceSources.RoutedEve

我在跟踪事件时遇到一些问题。这是我的密码:

PresentationTraceSources.Refresh();
Stream myFile = File.Create("trace.txt");
listener = new TextWriterTraceListener(myFile);
PresentationTraceSources.RoutedEventSource.Listeners.Add(listener);
PresentationTraceSources.RoutedEventSource.Switch.Level = SourceLevels.Warning;
PresentationTraceSources.RoutedEventSource.TraceEvent(TraceEventType.Warning, 0, "Test my warning");
然后我运行我的应用程序,希望trace.txt文件包含“testmywarning”字符串,但该文件为空。但是如果我把代码中的一个字符串改为

PresentationTraceSources.RoutedEventSource.Switch.Level = SourceLevels.All;
我可以在名为“trace.txt”的文件中看到字符串“testmywarning”。但这始终跟踪所有事件类型,而不仅仅是警告。但我只想追踪警告。你能帮我解决这个问题吗?

只需添加:

 PresentationTraceSources.RoutedEventSource.Flush();
最后,它将对任何源代码级别起作用

实际上,一旦你有了比
SourceLevels.All
更高的级别,你就必须刷新你的代码,将它写入你的监听器