在 Visual Studio 和 Blend 中打开相同的项目时,我使用前者编写代码,而后者则编辑XAML。
当我向.xaml文件添加一个UI元素并将其保存在Blend中时,如果我也在Visual Studio中打开了该文件,我会看到一些外部更改已经完成的消息,并询问我是否希望它们采取打开文件中的效果*。我接受它,我可以看到更改在Visual Studio中的.xaml文件中生效。
问题是,尽管新元素已添加到.xaml文件中,但我无法通过代码隐藏.cs文件中的Intellisense访问它们。
例如,如果我使用Blend将以下元素添加到 MainPage.xaml :
<Button x:Name="MyButton" Content="Button"/>
我可以在Visual Studio中看到相同的行添加到页面中,但是我无法使用 MainPage.xaml.cs 文件中的名称MyButton
来访问它。 Intellisense不适合它。如果我写,例如MyButton.Content = "Hello!";
它是红色下划线,但我可以构建并运行该项目。
重建项目不起作用,在我在Visual Studio中“再次”保存文件之前,Intellisense不起作用。
我觉得这种行为有时很烦人,我想知道这是不正常的行为,还是我的配置有问题。
* 我通常没有在Visual Studio中打开它,只是为了避免为Blend中的每个修改显示meessage
答案 0 :(得分:1)
我刚检查一下你的问题,实际上这不是问题。一切都很好所以你要做的就是保存你的xaml页面,你接受了在混合中完成的更改后你已经添加了按钮..(再次在你的xaml页面上控制+ s它将正常工作)。我的英语不好......
答案 1 :(得分:0)
我在Visual Studio 2015中开发Xamarin Forms时遇到了这个问题,但在我之后问题就消失了:
1)卸载项目(右键单击项目并从上下文菜单中选择)
2)编辑.csproj(来自上下文菜单)
3)假装修改并保存csproj。 :)
4)重新加载项目(从上下文菜单中)
答案 2 :(得分:0)
关闭整个解决方案并重新打开它解决了我的类似问题。