将silverlight文件(xaml)移动到另一个项目,现在后面的代码无法识别控件

时间:2011-07-08 13:29:23

标签: c# silverlight visual-studio-2010

我将一个silverlight文件(xaml)移动到另一个项目,现在该文件的后面代码无法识别控件。

xaml.cs文件没有看到xaml文件中的控件

我已经更新了命名空间,但这没有帮助。

我已经将类名更新为相同,但仍无效。

Intelisence没有拿起控件。

有什么想法吗?我也尝试删除cs文件,但没有“自动重新创建cs文件”的选项

谢谢!

5 个答案:

答案 0 :(得分:6)

在VS2010中,检查xaml文件的属性。它的Build Action应该是“Page”,它的Custom Tool应该是“MSBuild:Compile”。还要检查xaml中的x:Class元素是否包含与代码隐藏.xaml.cs文件中的命名空间和类名匹配的正确完全限定名称。

答案 1 :(得分:2)

XAML文件基本上生成了一个部分类。后面的代码是另一个具有相同名称的部分类。不能在两个不同的项目中声明一个类,这就是你正在做的事情。

答案 2 :(得分:1)

我有同样的问题。我发现Build Action已更改为Application definition。将其更改为Page后,删除obj文件夹,一切正常。 谢谢。

答案 3 :(得分:0)

您是否检查过XAML文件的命名空间/类名和代码隐藏?在将XAMl文件移动到另一个项目时,我经常忘记更改代码隐藏文件中的命名空间。

答案 4 :(得分:0)

我在WPF项目中遇到了类似的问题。我注意到的一件事是,如果你在下面的部分中添加如下内容:

<x:Array Type="sys:String" x:Key="RuleBinaryOperatorList" xmlns:sys="clr-namespace:System;assembly=mscorlib"> <sys:String>AND</sys:String> <sys:String>OR</sys:String> </x:Array>

它使相应的XAML文件无法编译,并抱怨无法识别InitializeComponent。解决方案是将这些资源放入App.xaml中的部分。

希望有人帮助那里的人!