这可能是在黑暗中尝试,但是,我将如何在 PresentationFramework.dll 的以下内部静态方法中设置断点?
System.Windows.Documents.TextEditorTyping._ShowCursor()
我遇到了与 Joe 非常相似的情况。 ,我正在使用 TextBox 控件和包含 ItemsControl 的 Popup 制作自定义自动完成文本框。当我将焦点放在文本框和显示为 StaysOpen="False"的弹出窗口中并键入一些字符时,鼠标指针将被隐藏(我相信是通过调用 System.Windows.Documents.TextEditorTyping.HideCursor)。它通常在鼠标移动时重新显示,但是弹出窗口似乎在检查它是否应该隐藏时处理此事件,因此当您在窗口中移动指针时,指针保持隐藏状态。
有一个怪癖,在第一次按键时,指针消失然后立即重新出现,然后在第二次按键时,指针保持隐藏状态。这表明有东西在调用 _ShowCursor(),我很想知道是什么。因此这篇文章,以及设置上述断点的愿望。如何设置该断点?
关于我的实际问题,指针一旦移动就保持隐藏状态,我希望通过自己模拟 StaysOpen="False"而不阻止鼠标移动事件来解决它,或者自己触发鼠标移动事件以使指针重新出现。对此的任何其他提示表示赞赏。
最佳答案
虽然您不能使用标准框架(没有可用的调试符号)执行此操作,但您可以使用 Reflector Pro 获得这种技巧:http://www.red-gate.com/messageboard/viewforum.php?f=109
Reflector Pro 会将 WPF 程序集反汇编成 .cs 源文件,并动态生成它自己的调试 PDB - 然后您可以使用 Visual Studio 单步执行 Presentation Framework 程序集(并设置断点)
祝你好运!
关于c# - 如何在 C# PresentationFramework.dll 中设置断点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2079043/