我有一种方法来知道哪些项目的重点和WPF应用程序? 有没有办法监控wpf中的所有事件和方法调用?有没有办法知道哪个项目在WPF应用程序中有重点?
2
A
回答
1
确定这个页面你会找到一个解决方案,但如果你问我这有点讨厌: http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/a420dc50-b238-4d2e-9209-dfbd98c7a060
它使用VisualTreeHelper创建所有控件的大列表,然后通过查看IsFocused属性询问他们是否有焦点。
我认为有一个更好的方法来做到这一点。 也许在WPF中搜索Active control或Focussed控件。
编辑: 本主题可能是有用的 How to programmatically navigate WPF UI element tab stops?
5
FocusManager.GetFocusedElement(this); // where this is Window1
这里有一个完整的示例(当应用程序运行,注重一个文本框,然后回车)
XAML:
<Window x:Class="StackOverflowTests.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" KeyDown="window1_KeyDown"
Title="Window1" x:Name="window1" Height="300" Width="300">
<StackPanel>
<TextBox x:Name="textBox1" />
<TextBox x:Name="textBox2" />
<TextBox x:Name="textBox3" />
<TextBox x:Name="textBox4" />
<TextBox x:Name="textBox5" />
</StackPanel>
</Window>
C#
using System.Windows;
using System.Windows.Input;
namespace StackOverflowTests
{
/// <summary>
/// Interaction logic for Window1.xaml
/// </summary>
public partial class Window1 : Window
{
public Window1()
{
InitializeComponent();
}
private void window1_KeyDown(object sender, System.Windows.Input.KeyEventArgs e)
{
if(e.Key == Key.Return)
MessageBox.Show((FocusManager.GetFocusedElement(this) as FrameworkElement).Name);
}
}
}
相关问题
- 1. 有没有办法知道应用程序第一次启动?
- 2. Android - 有没有办法知道应用程序从哪里下载的代码
- 3. 有没有办法知道`Promise.join`中哪个承诺失败?
- 4. 有没有办法知道在iOS中删除应用程序的时间?
- 5. 有没有办法告诉哪些文件没有在Web应用程序项目中使用
- 6. 有没有办法知道程序何时关闭?
- 7. 有没有办法知道最近的应用程序何时启动?
- 8. 有没有办法知道从rake命令启动了Rails应用程序?
- 9. 有没有办法知道你当前在使用哪个runloop或frame?
- 10. 有没有办法知道这里是否是当前应用程序中的“回到应用程序”栏?
- 11. 有没有办法在我的应用程序中使用mstest
- 12. 有没有办法在不从项目中删除我的应用程序的Watch应用程序?
- 13. 有没有办法直接在WPF应用程序中运行winforms exe文件?
- 14. 有没有办法在Silverlight或WPF应用程序中模拟控制台?
- 15. 有没有办法知道JSF项目的xhtml文件中引用了哪些bean属性?
- 16. 有没有办法知道在网络上使用哪些字体?
- 17. 有没有办法在Blue Prism中“激活”html应用程序?
- 18. 有没有办法在javaFX应用程序中集成html IFrame
- 19. 有没有办法在应用程序中查找对象?
- 20. VBA中有没有办法知道未使用的变量?
- 21. 在PHP中 - 有没有办法知道fsockopen何时超时?
- 22. 有没有办法让FlexBuilder 3将项目视为应用程序和LIbrary?
- 23. 有没有办法找出哪个应用程序将相机锁定?
- 24. 有没有办法知道调用方法?
- 25. 有没有办法在Visual Studio中创建另一个项目?
- 26. 有没有办法知道Spring控制器要映射哪个完整的URL?
- 27. 有没有办法知道哪个编译器生成了静态库?
- 28. 有没有办法找出程序使用的winform/wpf组件?
- 29. 有没有办法启动一个Express应用程序?
- 30. 有没有办法让宏在Eclipse中重新部署应用程序?
没有解决又为你工作? – Carlo 2009-08-13 19:17:14
其实我用的UISpy跟踪项目的重点 – 2009-08-13 22:58:09