XAML UI更新在代码隐藏中不可见

时间:2013-07-23 21:19:22

标签: c# visual-studio xaml intellisense expression-blend

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

3 个答案:

答案 0 :(得分:1)

我刚检查一下你的问题,实际上这不是问题。一切都很好所以你要做的就是保存你的xaml页面,你接受了在混合中完成的更改后你已经添加了按钮..(再次在你的xaml页面上控制+ s它将正常工作)。我的英语不好......

答案 1 :(得分:0)

我在Visual Studio 2015中开发Xamarin Forms时遇到了这个问题,但在我之后问题就消失了:

1)卸载项目(右键单击项目并从上下文菜单中选择)

2)编辑.csproj(来自上下文菜单)

3)假装修改并保存csproj。 :)

4)重新加载项目(从上下文菜单中)

答案 2 :(得分:0)

关闭整个解决方案并重新打开它解决了我的类似问题。