尝试将我的所有Windows移动到Visual Studio中名为Views的文件夹,以便更好地进行组织。但现在我在点击事件上遇到错误:
错误2'JamSnapsWPF.Views.Main'不包含'addlogin_Click'的定义,并且没有扩展方法'addlogin_Click'接受类型'JamSnapsWPF.Views.Main'的第一个参数可以找到(你错过了使用吗?指令或程序集引用?)C:\ Users \ Martyn Ball \ documents \ visual studio 2013 \ Projects \ JamSnapsWPF \ JamSnapsWPF \ Views \ Main.xaml 226 79 JamSnapsWPF
以下是错误源自的行:
<Button Name="addlogin" Click="addlogin_Click">
我更新了Windows类,以便它引用该窗口背后的代码:
<Window x:Class="JamSnapsWPF.Views.Main"
我做错了什么?
答案 0 :(得分:3)
将文件整理到Visual Studio中的文件夹时,不会自动更改任何文件中的命名空间。
检查代码隐藏文件以查看命名空间是什么。它应该是在XAML文件顶部引用的相同名称空间。
例如,我使用一个Window
创建了一个空解决方案。我创建了一个“Views”文件夹并将文件移入其中。代码隐藏也发生了变化。但是这两个文件都没有在任何地方引用“Views”文件夹。他们仍然看起来像这样:
namespace WpfApplication2
{
public partial class MainWindow
{
public MainWindow()
...
}
}
<Window x:Class="WpfApplication2.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
... >
...
</Window>
更改XAML中的命名空间,或更改代码隐藏文件以匹配它:
namespace WpfApplication2.Views
{
public partial class MainWindow
{
public MainWindow()
...
}
}
<Window x:Class="WpfApplication2.Views.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
... >
...
</Window>