Напишу, пока не забыл. Забавно будет, когда за комментариями к коду я полезу именно сюда, а не в сам код. А это обязательно случится. Мне уже забавно.
В общем, раз уж у нас .NET, то грех было бы не использовать WPF. Хотя WPF is all about reflection and automation, а у нас F# и автоматом ничего делаться не будет (во всяком случае, не делается сейчас, в будущем, возможно, Microsoft что нибудь и придумает в своём желании нажиться и сдесь). Так что придётся написать загрузку-автоматизацию ручками, но тут что-нибудь придумаем. Да и не соображаю что-там и как по-хорошему в WPF (и таю наивную надежду, что это даже плюс).
собственно, загрузка из .xaml документа. Запуск самого окошка происходит практически так же, как и с WinForms
Правда окошко пока не отзывается, да и не может отзываться, потому что у кнопочек никакого автоматически при привязанного кода нету. Но против лома нет приёма:
Осталось придумать какую-нибудь фигню, которая будет автоматически "оживлять" и переключать страницы:
Вот, каждому названию странички сопоставили функцию, которая будет её заполнять и возвратили функцию, которая будет эти страницы переключать.
Функции заполнения будут выглядеть так:
А запуск нашей супер-системы так:
непосредственно перед app.Run(window) |> ignore
Вот и всё. F# WPF FTW