Как правило в MVVM фреймфорке есть EventToCommand или надо мучать Blend.
Пишется в кнопке под
Interaction.Triggers
как
EventToCommand Command="{Binding InitializeCommand}" EventName="Loaded"
.
Синтаксис зависит от фреймфорка. Для частых ивентов и биндингов иногда ставят задержку.
<TextBlock Text="{Binding Name, Delay=500}"/>
Параметры передаются через PassEventArgsToCommand (обычные аргументы), но обычно в XAML делается биндинг нужного значения как параметр для команды.