Вы можете создать универсальный метод, который будет регистрировать ваши типы:
public static class RegistrationExtension
{
public static IRegistrationBuilder<TPage, ConcreteReflectionActivatorData, SingleRegistrationStyle>
RegisterPage<TPage, TViewModel>(this ContainerBuilder builder)
where TPage : IPage
{
return builder.RegisterType<TPage>()
.OnActivated(e =>
{
e.Instance.DataContext = e.Context.Resolve<TViewModel>();
});
}
}
, а затем зарегистрировать ваши страницы следующим образом:
builder.RegisterPage<PageA, PageAViewModel>();