添加viewmodel时发生命名空间错误

时间:2016-01-07 15:16:18

标签: c# wpf xaml mvvm namespaces

我带着一个非常奇怪的问题来找你。 初看起来这很容易,但相信我它会让我发疯!

我只是想在DataContext中指定我要关联的xaml页面的文件,我已经在其他xaml页面上做了,所以我不明白为什么!

event.target

名称" HomeViewModelMusique"不存在" clr-namespace:FinalMediaPlayer.Onglet.Musique.Home"。

<UserControl x:Class="FinalMediaPlayer.Onglet.Musique.Home.HomeMusique"
         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:mui="http://firstfloorsoftware.com/ModernUI"
         xmlns:viewmodel="clr-namespace:FinalMediaPlayer.Onglet.Musique.Home"
         xmlns:tools="clr-namespace:FinalMediaPlayer.Tools"
         mc:Ignorable="d" 
         d:DesignHeight="300" d:DesignWidth="300">

<UserControl.DataContext>
    <viewmodel:HomeViewModelMusique></viewmodel:HomeViewModelMusique>(error here)
</UserControl.DataContext>

正如您所看到的,我将路径放在viewmodel中,但显然文件名不存在于命名空间中... 感谢先进的人,我很快就会自杀......

4 个答案:

答案 0 :(得分:1)

是否所有命名空间都在同一个程序集中?如果不是,则需要在命名空间声明中指定程序集。

E.g:

xmlns:viewmodel="clr-namespace:FinalMediaPlayer.Onglet.Musique.Home;assembly=AssemblyName"

答案 1 :(得分:0)

检查名称空间是否确实正确,然后清理\重建您的解决方案。请考虑使用像Resharper这样的工具来自动修复这些问题

答案 2 :(得分:0)

感谢您的快速回答! 我已经尝试过了:

xmlns:viewmodel="clr-namespace:FinalMediaPlayer.Onglet.Musique.Home;assembly=FinalMediaPlayer"

它没有用,&#34; FinalMediaPlayer&#34;是我的项目的名称,是否有现场组装的预期? 我在AssemblyInfos.cs上得到这个:

[assembly: AssemblyTitle("FinalMediaPlayer")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("FinalMediaPlayer")]
[assembly: AssemblyCopyright("Copyright ©  2016")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]

但是我会尝试使用Resharper,但这不是一个真正的解决方案:/。 如果我找到解决方案,我会发布它。

答案 3 :(得分:0)

对不起家伙我没有回答这个问题,当然我做到了。 尝试清理/重新生成/生成。没有成功。 真的我无法相信,我整个下午都花在这个小愚蠢的问题上,也许这是来自视觉工作室的错误。 我下班后会试试我的另一台电脑。 再次,感谢我的搜索。

namespace FinalMediaPlayer.Onglet.Musique.Home
{
public class HomeViewModelMusique : NotifyPropertyChanged
{