История изменений
Исправление peregrine, (текущая версия) :
Ну я вчера жевал это добро, правда на авалонии и там куда сложнее просто окно передать, чем в случае WPF (не сложнее, можно его в конструктор засунуть, но вот только превьюшка от этого сломается, потому как превьюшка авалонии не умеет в конструкторы с параметрами). На самом деле говнодизайн когда упоротые всё строго по MVVM или ещё какому-то паттерну делают. Это как всё на лямбдах писать или вообще всё без лямбд. Никто в здравом уме так не делает почему-то если ЯП содержит лямбды. Но совсем упоротые авторы авалонии (а упороты они потому что пытаются ежа с носорогом скрестить - а именно десктоп модель с окнами и мобильную модель с активити которые ни разу не окна) там костылики подложили, вроде такого:
var mainWindow = Application.Current?.ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop ? desktop.MainWindow : null;
Исходная версия peregrine, :
Ну я вчера жевал это добро, правда на авалонии и там куда сложнее просто окно передать, чем в случае WPF (не сложнее, можно его в конструктор засунуть, но вот только превьюшка от этого сломается, потому как превьюшка авалонии не умеет в конструкторы с параметрами). На самом деле говнодизайн когда упоротые всё строго по MVVM или ещё какому-то паттерну делают. Это как всё на лямбдах писать или вообще всё без лямбд. Никто в здравом уме так не делает почему-то если ЯП содержит лямбды. Но совсем упоротые авторы авалонии там костылики подложили, вроде такого:
var mainWindow = Application.Current?.ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop ? desktop.MainWindow : null;