Получить дескриптор MainWindow в WPF

Я только что создал пустое приложение WPF в VS 2015.

Она имеет

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

Но mainWindowHandle всегда 0.

Это нормально? Это должно быть > 0?


person DmitryBoyko    schedule 13.05.2016    source источник


Ответы (1)


Ваше окно еще не отображается. Таким образом, фактическое окно еще не создано. Попробуйте изучить этот дескриптор в Activated или Loaded событии.

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

    private void OnLoaded(object sender, RoutedEventArgs routedEventArgs)
    {
        var mainWindowHandle = new WindowInteropHelper(this).Handle;
    }
}
person filhit    schedule 13.05.2016
comment
Идеально! это именно то, что я искал :) - person Bravo; 18.10.2017