В частности, я пытаюсь развернуть окно до максимума. Проблема в том, что я не могу запустить этот код синхронно после InitializeComponent, потому что это слишком рано (окно еще не готово/загружено/не показано, поэтому установка Presenter не имеет никакого эффекта)
Проблема в том, что событие Window.Loaded не отображается в WinUI 3 (версия 1.0).
Итак, вот мой текущий хак. В конструкторе (после InitializeComponent) я подключаюсь к одному из единственных событий, предоставляемых WinUI 3, Activated
Код: Выделить всё
Activated += MainWindow_Activated_FirstTime;
Код: Выделить всё
private void MainWindow_Activated_FirstTime(object sender, WindowActivatedEventArgs args)
{
SetupWindow();
Activated -= MainWindow_Activated_FirstTime;
}
Код: Выделить всё
SetupWindow
Как я уже сказал, это работает, но я думаю, что это довольно хакерски. Мне было интересно, есть ли правильный способ подключиться к Loaded или, возможно, к какому-либо эквивалентному событию, например Ready или Rendered. Мне действительно все равно, чем я увлекаюсь, лишь бы это было лучше этого.
Подробнее здесь: https://stackoverflow.com/questions/711 ... eady-event