SimpleIoc.Default.Register falha no IsInDesignModeStatic se a interface estiver em assembly diferente

No construtor estático deViewModelLocator classifiqueSimpleIoc.Default.Register<T>(); falha emIsInDesignModeStatic modo, se a interface estiver em um projeto diferente. Como resultado,MainWindow.xaml designer está vazio em tempo de design.

Eu fiz uma solução simples para testá-lo. Apenas as alterações que eu fiz é mover oDataItem classe e oIDataService interface para o projeto de domínio.

Baixe aqui

Eu encontrei uma volta: Adicione um link para o IDataService.cs no projeto ClientWpf.

public class ViewModelLocator {
    static ViewModelLocator() {
        ServiceLocator.SetLocatorProvider(() => SimpleIoc.Default);

        if (ViewModelBase.IsInDesignModeStatic) {

            // It fails if the IDataService is in different assembly
            // Delete the link of IDataService.cs from the ViewModel folder...
            SimpleIoc.Default.Register<IDataService, Design.DesignDataService>();
        }
        else {
            SimpleIoc.Default.Register<IDataService, DataService>();
        }

        SimpleIoc.Default.Register<MainViewModel>();
    }
...
}

questionAnswers(1)

yourAnswerToTheQuestion