我是WPF + MVVM架构的新手。在我的应用程序中,我试图在XAML本身中实现“DataContext”,如下所示
<Window x:Class="MyWPF.UI.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:vm="clr-namespace:MyWPF.UI.ViewModel"
Title="MainWindow" Height="350" Width="525">
<Window.DataContext>
<vm:Northwind_DataViewModel></vm:Northwind_DataViewModel>
</Window.DataContext>
<Grid>
</Grid>
</Window>
我得到“名称'Northwind_DataViewModel'在命名空间'clr-namespace中不存在:MyWPF.UI.ViewModel”。
我有ViewModel文件。在使用“DataContext”之前,我构建了这个应用程序。
您能告诉我我的代码有什么问题吗?
感谢
答案 0 :(得分:0)
名称'Northwind_DataViewModel'在命名空间'clr-namespace中不存在:MyWPF.UI.ViewModel“。
有可能,你编译是对的。项目中没有名为MyWPF.UI.ViewModel.Northwind_DataViewModel
的类。确保它存在,具有公共的无参数构造函数,不是某个内部类而不是泛型。如果是这样的话,那就可以了。
答案 1 :(得分:0)
如果 名称空间在XAML所在的单独程序集 中声明,则必须 提供程序集名称 < /强>
样品:
xmlns:sys="clr-namespace:System;assembly=mscorlib"
同样,提供此命名空间所在的程序集名称(假设程序集名称为MyWPF.UI):
xmlns:vm="clr-namespace:MyWPF.UI.ViewModel;assembly=MyWPF.UI"
答案 2 :(得分:0)
非常感谢您的回复。最后我得到了解决方案。实际上,这个项目被放在一个共享文件夹中。所以,我把它移到我的本地驱动器(C :)。现在,它没有任何问题,工作正常。
我想,在共享路径/共享文件夹中,它可能无效。如果我错了,请告诉我。
再次感谢。答案 3 :(得分:0)
为了解决这个问题,您需要了解DataContext
的工作原理。这个答案包含许多提示和指向支持教程的链接:
ReSharper WPF error: "Cannot resolve symbol "MyVariable" due to unknown DataContext"