在WPF中获取MainWindow的句柄

时间:2016-05-13 20:39:39

标签: c# wpf window-handles

我刚刚在VS 2015中创建了一个空的WPF应用程序。

它有

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

mainWindowHandle总是0

可以吗?它应该是> 0吗?

1 个答案:

答案 0 :(得分:4)

您的窗口尚未显示。因此尚未创建实际窗口。请尝试在ActivatedLoaded事件中检查此句柄。

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

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