2016-05-13 125 views
3

我只是在2015年VS获取主窗口的句柄在WPF

创建一个空的WPF应用程序,具有

public partial class MainWindow : Window 
{ 
    public MainWindow() 
    { 
     InitializeComponent(); 
     var mainWindowHandle = new WindowInteropHelper(this).Handle; 
    } 
} 

mainWindowHandle0始终。

可以吗?应该是> 0

回答

3

您的窗口尚未显示。所以实际的窗口还没有创建。尝试在ActivatedLoaded事件中检查此句柄。

public partial class MainWindow : Window 
{ 
    public MainWindow() 
    { 
     InitializeComponent(); 
     Loaded += OnLoaded; 
    } 

    private void OnLoaded(object sender, RoutedEventArgs routedEventArgs) 
    { 
     var mainWindowHandle = new WindowInteropHelper(this).Handle; 
    } 
} 
+0

完美!这正是我想要的:) – Bravo