我有一種方法來知道哪些項目的重點和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