为什么`#if WINDOWS_PHONE_APP`代码显示为灰色?

时间:2015-04-22 09:12:13

标签: visual-studio visual-studio-2013 win-universal-app

我正在构建一个Windows Universal应用程序。在App.xaml.cs文件中,指令用于将面向Windows Phone 8.1存储的代码与面向Windows桌面存储的代码分开:

#if WINDOWS_PHONE_APP

然而,在我开发时,我发现活动项目的代码,Windows Phone 8.1项目是灰色的。

Visual Studio screenshot

为什么?

如何让Visual Studio认识到#if WINDOWS_APP代码应该变灰并且#if WINDOWS_PHONE_APP代码应该正常呈现?

1 个答案:

答案 0 :(得分:7)

它在图像中显示为灰色,因为您处于Windows应用程序的上下文中 - 查看代码窗口上方最左侧的下拉列表,其中显示<event name="item:saved"> ... <!-- add the namespace name and dll --> <handler type="MyNamespace, MyAssemblyName" method="MyMethod"/> </event> - 这将设置Windows应用程序的上下文。如果您将下拉列表更改为Things.Windows,则会将上下文切换到Windows Phone应用程序。

解决方案资源管理器中的粗体项目仅指示当您点击F5时将运行的应用程序;它不确定活动上下文是什么。