名称 <...> 在命名空间 <...> 中不存在
The name <...> does not exist in the namespace <...>
我发现自己陷入了这个似乎根本无解的小问题。我试图在 WPF 项目中将 DataContext
设置为 Window
,如下所示:
XAML 文件:
<Window x:Class="CSB.Tasks.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:CSB.Tasks"
xmlns:vm="clr-namespace:CSB.Tasks.ViewModels.WPF" <!-- This is what i need -->
mc:Ignorable="d"
Title="MainWindow"
Height="350"
Width="525">
<WindowChrome.WindowChrome>
<WindowChrome ResizeBorderThickness="{Binding ResizeBorderThickness}"
GlassFrameThickness="0"
CornerRadius="{Binding CornerRadius}"/>
</WindowChrome.WindowChrome>
<StackPanel Margin="5">
</StackPanel>
我想将WindowViewModel
设置为Window
的ViewModel,但是VS好像找不到class所在的文件夹。所以,当我尝试添加 Window.DataContext
时:
<Window.DataContext>
<vm:WindowViewModel/>
</Window.DataContext>
VS明明告诉我class不存在
我一直在搜索关于 SO 的类似问题,我发现了很多,但实际上没有人帮助我。我已经尝试重启 VS,清理并重建项目,在特定目标平台上编译(现在它设置为 Any CPU),移动根文件夹中的 ViewModel 然后将其移回,绝对没有变化。
有谁知道可能是什么原因吗?
提前感谢您的帮助。
我实际上设法将 DataContext
添加到 MainWindow XAML。 ViewModel
的命名空间被设置为 CSB.Tasks
以便全局访问它,但即使使用本地 xmlns 我也无法引用它。我不得不根据项目文件夹中的实际路径更改 ViewModel
的命名空间,因此:
namespace CSB.Tasks.ViewModels.WPF
{
public class WindowViewModel : BaseViewModel
{
...
}
}
为了设置xmlns:vm
并在DataContext
声明中使用它。然后我将 ViewModel
命名空间切换回 CSB.Tasks
并重新编译项目,由于某种原因,在 XAML 编辑器中我可以从 [=20= 访问 WindowViewModel
].
我不太清楚这是否是错误。
谢谢大家的帮助!
我发现自己陷入了这个似乎根本无解的小问题。我试图在 WPF 项目中将 DataContext
设置为 Window
,如下所示:
XAML 文件:
<Window x:Class="CSB.Tasks.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:CSB.Tasks"
xmlns:vm="clr-namespace:CSB.Tasks.ViewModels.WPF" <!-- This is what i need -->
mc:Ignorable="d"
Title="MainWindow"
Height="350"
Width="525">
<WindowChrome.WindowChrome>
<WindowChrome ResizeBorderThickness="{Binding ResizeBorderThickness}"
GlassFrameThickness="0"
CornerRadius="{Binding CornerRadius}"/>
</WindowChrome.WindowChrome>
<StackPanel Margin="5">
</StackPanel>
我想将WindowViewModel
设置为Window
的ViewModel,但是VS好像找不到class所在的文件夹。所以,当我尝试添加 Window.DataContext
时:
<Window.DataContext>
<vm:WindowViewModel/>
</Window.DataContext>
VS明明告诉我class不存在
我一直在搜索关于 SO 的类似问题,我发现了很多,但实际上没有人帮助我。我已经尝试重启 VS,清理并重建项目,在特定目标平台上编译(现在它设置为 Any CPU),移动根文件夹中的 ViewModel 然后将其移回,绝对没有变化。
有谁知道可能是什么原因吗?
提前感谢您的帮助。
我实际上设法将 DataContext
添加到 MainWindow XAML。 ViewModel
的命名空间被设置为 CSB.Tasks
以便全局访问它,但即使使用本地 xmlns 我也无法引用它。我不得不根据项目文件夹中的实际路径更改 ViewModel
的命名空间,因此:
namespace CSB.Tasks.ViewModels.WPF
{
public class WindowViewModel : BaseViewModel
{
...
}
}
为了设置xmlns:vm
并在DataContext
声明中使用它。然后我将 ViewModel
命名空间切换回 CSB.Tasks
并重新编译项目,由于某种原因,在 XAML 编辑器中我可以从 [=20= 访问 WindowViewModel
].
我不太清楚这是否是错误。
谢谢大家的帮助!