Я просто потратил несколько часов на проблему при использовании VS2012, WPF 4.5 и данных времени разработки, в частности, атрибута DesignInstance.
Цель. Я хотел иметь поддержку данных времени разработки в моем проекте WPF (на основе MVVM), как в VS2012, так и в Blend, и я не мог на всю жизнь сделать подход MVVMLight работать последовательно.
Поэтому я попытался перейти на "просто", используя встроенную поддержку данных времени разработки, используя расширение разметки, поставляемое с Blend.
Проблема. Рассмотрим следующий код:
<Window x:Class="Nova.View.AlertsView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:Nova.View"
xmlns:vm="clr-namespace:Nova.ViewModel"
mc:Ignorable="d"
DataContext="{Binding Alerts, Source={StaticResource Locator}}"
d:DataContext="{d:DesignInstance vm:DesignAlertsViewModel, IsDesignTimeCreatable=True}"
... />
Оба отчета VS2012 и Blend "имя DesignAlertsViewModel не существует в пространстве имен clr-names пространства имен: Nova.ViewModel", хотя intellisense разрешает его просто отлично, и вы проверили тысячу раз, что пространство имен и имя класса оба правильный.