在Visual Studio和Blend中打开相同的项目后,我使用前者编写代码,而在后者中编辑 XAML。
当我将 UI 元素添加到 .xaml 文件并将其保存在 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 中的每个修改都显示该消息