У меня есть пользовательский элемент управления BIG и OLD xaml, и я пытаюсь добавить для него класс ViewModel (чтобы все было правильно). код для присоединять ViewModel в XAML является:ViewModel не существует в пространстве имен «clr-namespace: ...»
xmlns:vm="clr-namespace:Company.Proj.ViewModel;assembly=Company.Proj"
xmlns:v="clr-namespace:Company.Proj.View;assembly=Company.Proj"
mc:Ignorable="d">
<UserControl.Resources>
<DataTemplate
DataType="{x:Type vm:SampleVM}">
<v:MainWindow/>
</DataTemplate>
</UserControl.Resources>
<UserControl.DataContext>
<vm:SampleVM/>
</UserControl.DataContext>
и класс для будущих ViewModel:
namespace Company.Proj.ViewModel //the namespace is correct
{
public class SampleVM // the class is public
{
public SampleVM() // void constructor? perhaps not needed here
{
}
}
}
и я получаю SampleVM does not exist in the namespace clr-namespace:Company.Proj.ViewModel;assembly=Company.Proj"
Я гугле много и узнал много ответов , как в The name ViewModel does not exist in the namespace "clr-namespace:Project.ViewModels"
... Я пытался rebuildProjec/осторожно)) CopyPaste сборочные и namespece имена/reopenStudio/изменение отлаживать-релиз-отладочные ...
Но ничего не решается (( Есть ли другой вариант для подключения к ViewModel View.xaml (возможно, лучше тот, который я использовал), или что Коула быть сделано, чтобы решить эту проблему
My VS версия: VS Community 2013 12.0.3.1101.00 Update 4 Target Структура 4.5.1
EDIT: Мой вопрос отличается от приведенных выше ссылки, потому что в моем вопросе нет никакой ошибки в CLR-пути (см верхнего ответа Волей)
Правильно ли сборка? Если 'UserControl' находится в той же сборке, что и модель viewmodel, это даже не требуется. –
Да .. Купите способ сборки здесь не нужен (один проект). Я также попробовал xmlns: vm = "clr-namespace: Company.Proj.ViewModel без сборки. Такая же ошибка ( – curiousity
Проблема не находит класс SampleVM , но код не может каким-то образом найти пространство имен (или сборку). – Marshal